JFrame窗體是一個容器,它是Swing程序中各個組件的載體,可以將JFrame看作是承載這些Swing組件的容器。
在開發應用程序時可以通過繼承java.swing.JFrame類創建一個窗體,在這個窗體中添加組件,同時為組件設置事件。JFrame在程序中的語法格式如下:
JFrame jf=new JFrame(title); // jf: JFrame類的對象
Container container=jf.getContentPane(); //container: Container類的對象,可以使用JFrame對象調用getContentPane()方法獲取。
備注:思路:Swing組件的窗體通常與組件和容器相關,所以在JFrame對象創建完成后,需要調用getContentPane()方法將窗體轉換為容器,然后在容器中添加組件或設置布局管理器。通常,這個容器用來包含和顯示組件。如果需要將組件添加至容器,可以使用來自Container類的add()方法進行設置。
import java.awt.Color; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.SwingConstants; import javax.swing.WindowConstants; public class Example1 extends JFrame { public void CreateJFrame(String title){ JFrame jf=new JFrame(title); Container container=jf.getContentPane();//獲取一個容器
JLabel jl=new JLabel("這是一個JFrame窗體");//創建一個JLabel標簽
jl.setHorizontalAlignment(SwingConstants.CENTER);//使標簽上的文字居中
container.add(jl);//將標簽添加到容器中
container.setBackground(Color.white); //設置容器的背景顏色
jf.setVisible(true);//使窗口可視
jf.setSize(200, 150);//設置窗體大小
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//設置窗體關閉方式
} public static void main(String args[]){ new Example1().CreateJFrame("創建一個JFrame窗體"); //在主方法中調用CreatJFrame()方法
} } 注釋: 1)JFrame類的常用構造方法包括以下兩種形式: public JFrame() public JFrame(String title) JFrame類中的兩種構造方法分別為無參的構造方法與有參的構造方法。第一種形式的構造方法可以創建一個初始不可見、沒有標題的新窗體;第二種形式的構造方法可以創建一個不可見但具有標題的窗體。可以使用JFrame對象調用show()方法使窗體課件,但是該方法早已被新版JDK所啟用,通常使用setVisible(true)方法使窗體可見。 可以使用setSize(int x, int y)方法設置窗體的大小. 其中x與y變量分別代表窗體的寬與高。 創建窗體后,需要給予窗體一個關閉方式,可以調用setDefaultCloseOperation()方法關閉窗體。Java為窗體關閉提供了多種方式,常用的有以下4種: DO_NOTHING_ON_CLOSE; DISPOSE_ON_CLOSE; HIDE_ON_CLOSE; EXIT_ON_CLOSE 第1種退出方式代表什么都不做就窗體關閉;第2種退出方式代表任何注冊監聽程序對象后會自動隱藏並釋放窗體;第3種方式表示隱藏窗口的默認窗口關閉;第4中退出方式表示退出應用程序默認窗口關閉。
運行結果如圖: