天地之灵学习小组
我们学习小组的OpenGL学习笔记 大家一定要互相折磨呀~~
posts - 150,  comments - 156,  trackbacks - 0
失踪很久了。
今天还是比较倒霉的,随笔快写完的时候去吃饭,回来的时候竟然忘记了。电脑有点慢于是在任务管理器中关闭了所有的浏览器,只是我即将完工的随笔随风而去了。
先给大家讲一个故事吧。很久很久以前,有一位同学。当时他遇到了一个问题,但是很不幸他没有解决掉,于是乎他手头的工作搁浅已很久很久。机缘巧合之下,这个问题今天将要被解决掉了。
很久以前,在用Java中的布局管理器的时候,容器中的组建的位置和大小基本上都是固定的。如果在一个布局管理器中放一个按钮,那么按钮将会充满整个容器,如下图

                                        
代码如下
import java.awt.*;

import javax.swing.*;

public class TestPanel extends JFrame
{
    
public TestPanel()
    
{
        Container con
=getContentPane();
        JButton jbt
=new JButton("I am Button");
        con.add(jbt);
        setSize(
400,400);
        setLocation(
200,200);
        setVisible(
true);
    }

    
public static void main(String[] args)
    
{
        TestPanel test
=new TestPanel();
        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

}
这个问题令我很是苦恼,后来听说XYLayout很是好用,于是就抱着试试看的态度用了一次。很不幸,不知道是我的原因还是其他原因,反正就是不能用。后来在网上逛到了俩函数setSize()和setBounds(),也是听说可以的,但是我用过之后发现竟然和没用之前是一模一样的。当时很是无奈,一气之下啥都不干了。
没有想到,n天之后的今天我竟然找到了这个n久之前的答案。用的还是setBounds()函数,但是用这个函数之前把setLayout()的参数设成null。这下好了,整个屏幕尽在我的掌握之中了,组件大小和位置任意调。先看看效果

                                        

这个就是代码了
import java.awt.*;

import javax.swing.*;

public class TestPanel extends JFrame
{
    
public TestPanel()
    
{
        Container con
=getContentPane();
        con.setLayout(
null);
        JButton jbt
=new JButton("I am Button");
        jbt.setBounds(
20,20,120,80);
        con.add(jbt);
        setSize(
400,400);
        setLocation(
200,200);
        setVisible(
true);
    }

    
public static void main(String[] args)
    
{
        TestPanel test
=new TestPanel();
        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

}

Ok,n就职前的一个问题解决了,接下来就要解决目前的问题了。

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



<2008年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(6)

随笔分类(149)

随笔档案(150)

同道中人

搜索

  •  

积分与排名

  • 积分 - 43767
  • 排名 - 486

最新随笔

最新评论

阅读排行榜

评论排行榜