您的位置:首页 > 产品设计 > UI/UE

java -- GUI程序设计之无布局管理器布局

2013-08-03 10:44 344 查看
无布局管理器布局 要采用无布局管理器布局,首先要取消Swing默认的布局管理器,否则布局方法不会生效。其方法是调用容器的setLayout方法,并将布局管理器设置为null。取消默认的布局管理器之后,就可以使用GUI组件的setLocation()、setSize()、setBounds()等布局方法来对GUi组件的位置、大小进行设置。常用方法如下:
函数作用
setLacation(java.awt.Point)setLacation(int,int)设置组件的坐标位置
setSize(java.awt.Dimension)setSize(int,int)设置组件的大小
setBounds(java.awt.Rectangle)setBounds(int,int,int,int)同时设置组件的坐标位置和大小。setBounds(int,int,int,int)的四个参数分别代表组件的坐标(x,y)和组件的宽、高。
示例:
public class Test extends JFrame {
public Test(){
JPanel jp=new JPanel();
setContentPane(jp);

JTextField tf=new JTextField("文本框");
JButton jb=new JButton("按钮");

//设置布局为null
setLayout(null);
//设置文本框的位置(20.20),宽200,高100
tf.setBounds(20, 20, 200, 100);
jp.add(tf);

//设置按钮的位置和大小
jb.setBounds(20, 200, 100, 20);
//下面两句和上边一句是等价的
//      jb.setLocation(20, 200);
//      jb.setSize(100, 20);
jp.add(jb);

//设置可见。大小位置、默认退出方式
setVisible(true);
setBounds(200, 200, 400, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Test();
}
}
结果:



程序运行结果如上图所示。无布局管理器布局在对组件的大小和位置的控制上较为灵活,但是这种布局方式会导致平台相关,在不同的平台上会产生不同的显示效果。并且在窗体发生变化时,有可能进行重新布局。基于布局管理器的布局就可以很好的解决上面两个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: