窗体里面有很多组件,这些组件对在窗体中的摆放位置和组件尺寸都有自身的要求,程序员添加这些组件到窗体时,该如何安排这些组件在窗体的位置和尺寸呢?这就需要用到Swing的布局管理器。下面主要介绍常用的布局管理器。
绝对布局
程序员需要设置每个组件在窗体的大小和位置,在实际编程中,较少采用这种布局管理。使用绝对布局,程序员可以采用下面的步骤:
(1)调用窗体的setLayout方法取消窗体的默认布局。调用方法如下:
窗体对象.setLayout(null);
(2)调用组件的setBounds方法,设置组件在窗体的位置和大小。调用方法如下:
组件对象. setBounds(x, y, w, h)
其中,x和y是组件在窗体的坐标,w是窗体的宽度,h是窗体的高度。
案例1:创建一个窗体,该窗体使用绝对布局,在窗体中添加两个JLabel组件。
在项目PCoreUnit13下新建layout包,在layout包内新建JFreamAbsolutelyTest类。代码如下:
packagelayout;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.WindowConstants;/*** @ClassName: JFreamAbsolutelyTest* @Description: Swing程序设计(常用布局管理器)案例1* @author 编程训练营* @date**/publicclass JFreamAbsolutelyTest {/*** @Title: main* @Description:Java程序入口main方法* @param@param args 参数* @return void 返回类型* @throws*/publicstaticvoid main(String[] args) {// 实例化JFrame对象JFrame frame = new JFrame("窗体绝对布局");// 创建一个标签组件JLabel label1 = new JLabel("这是第一个组件");JLabel label2 = new JLabel("这是第二个组件");// 窗体设置为绝对布局frame.setLayout(null);//设置窗体的大小label1.setBounds(20, 100, 250, 100);label2.setBounds(300, 150