package com.swing; import java.awt.Container; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.WindowConstants; /** * 1:常用的布局管理器 * 在Swing中,每個組件在容器中都有一個具體的位置和大小,在容器中擺放各種組件時很難判斷 * 其具體的位置和大小,布局管理器提供了Swing組件安排展示在容器中的方法,它提供了基本的 * 布局功能 * 2:Swing提供了常用的布局管理器包括流布局管理器,邊界布局管理器,和網格布局管理器 * * 3:在Swing中除了使用布局管理器之外也可以使用絕對布局,絕對布局,顧名思義,就是 * 硬性指定組件在容器中的位置和大小,可以使用絕對坐標的方式來指定組件的位置 * * 4:使用絕對布局的步驟如下 * 第一使用Container.setLayout(null)方法取消布局管理器 * 在使用絕對布局之前一定使用setLayout(null)方法告知編譯器這裡不再使用布局管理器 * 第二使用Component.setBounds()方法設置每個組件的大小和位置 * * 5:絕對布局使用setBounds(int x,int y,int width,int height)方法進行設置, * 第一如果使窗體對象調用setBounds()方法 * 參數 x,y代表這個窗體在整個屏幕上面出現的位置,width,height代表這個窗體的寬和長 * 第二如果使窗體內的組件調用setBounds()方法, * 則參數x,y代表這個組件在整個窗體擺放的位置,width,height代表這個組件的大小 * * * @author biexiansheng * */ public class AbsolutePosition extends JFrame{ public AbsolutePosition(){//定義一個構造方法 setTitle("本窗體使用絕對布局");//設置該窗體的標題 setLayout(null);//使該窗體取消布局管理器設置 setBounds(0,0,200,150);//絕對定位窗體的位置和大小 Container container=getContentPane();//創建容器對象 JButton jb1=new JButton("按鈕1");//創建按鈕 JButton jb2=new JButton("按鈕2");//創建按鈕 jb1.setBounds(10,30,100,20); jb2.setBounds(60,70,100,20);//設置按鈕在窗體上的位置和大小 container.add(jb1);//將按鈕添加到容器中 container.add(jb2);//將按鈕添加到容器中 setVisible(true);//使窗體可見 //設置窗體的關閉方式 setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public static void main(String[] args) { // TODO Auto-generated method stub AbsolutePosition pa=new AbsolutePosition(); //實例化對象的時候調用構造方法 } }
實力運行效果如下