绝对布局,就是硬性指定组件在容器中的位置和大小,可以使用绝对坐标的方式来指定组件的位置。
使用绝对布局的步骤如下:
- 使用Container.setLayout(null)方法取消布局管理器。
- 使用Component.setBounds()方法设置每个组件的大小与位置。
实例
import java.awt.Container;
import javax.swing.*;
public class Demo2 extends JFrame{
public Demo2() {
setBounds(100,100,250,150);//设置窗体坐标和大小
setDefaultCloseOperation(EXIT_ON_CLOSE);//设置窗体关闭规则,关闭窗口时关闭程序
Container c=getContentPane();//创建容器对象
c.setLayout(null);//使该窗体取消布局管理器设置
JButton b1=new JButton("按钮1"),b2=new JButton("按钮2");//创建按钮
b1.setBounds(10, 30, 80, 30);//设置按钮的位置与大小
b2.setBounds(60, 70, 100, 20);
c.add(b1);//将按钮添加到容器中
c.add(b2);
setVisible(true);//设置窗体为可见
}
public static void main(String[] args) {
new Demo2();
}
}
实验结果
在本实例中,窗体的大小、位置以及窗体内组件的大小与位置都被进行绝对布局操作。绝对布局使用setBounds(int x,int y,int width,int height)方法进行设置。如果窗体对象调用的是setBounds()方法,它的参数x与y分别代表这个窗体在整个屏幕上出现的位置,width与height则代表这个窗体的宽与长;如果窗体内的组件调用setBounds()方法,参数x与y则代表这个组件在整个窗体摆放的位置,width与height则代表这个组件的大小。