2、Java Swing JFrame和JPanel:窗口容器和面板容器
在 Swing 中,任何其他組件都必須位于一個頂層容器中。
JFrame 窗口和 JPanel 面板是常用的頂層容器,本節詳細介紹這兩個容器的使用方法。
JFrame 窗口
JFrame 用來設計類似于 Windows 系統中窗口形式的界面。
JFrame 是 Swing 組件的頂層容器,該類繼承了 AWT 的 Frame 類,支持 Swing 體系結構的高級 GUI 屬性。
JFrame 類的常用構造方法如下所示。
- JFrame():構造一個初始時不可見的新窗體。
- JFrame(String title):創建一個具有 title 指定標題的不可見新窗體。
當創建一個 JFrame 類的實例化對象后,其他組件并不能夠直接放到容器上面,需要將組件添加至內容窗格,而不是直接添加至 JFrame 對象。示例代碼如下:
frame.getContentPane().add(b);使用 JFrame 類創建 GUI 界面時,其組件的布局組織示意如圖 1 所示。
在圖 1 中顯示有“大家好”的 Swing 組件需要放到內容窗格的上面,內容窗格再放到 JFrame 頂層容器的上面。菜單欄可以直接放到頂層容器 JFrame 上,而不通過內容窗格。內容窗格是一個透明的沒有邊框的中間容器。
JFrame 類中的常用方法:
JFrame()----創建一個無標題的窗口。
JFrame(String s)----創建標題為s的窗口。
public voidsetBounds(int a,int b,int width,int height)----設置窗口的初始位置是(a,b),即距屏幕左面a個像素,距屏幕上方b個像素,窗口的寬是width,高是height。
public void setSize(int width,int height)----設置窗口的大小。
public void setLocation(int x,int y)----設置窗口的位置,默認位置是(0,0)。
public void setVisible(boolean b)----設置窗口是否可見,窗口默認是不可見的。
public voidsetResizable(boolean b)----設置窗口是否可調整大小,默認可調整大小。
public voiddispose()----撤銷當前窗口,并釋放當前窗口所使用的資源。
publicvoid setExtendedState(int state)----設置窗口的擴展狀態,其中參數state取JFrame類中的下列類常量:
MAXIMIZED_HORIZ (水平方向最大化),
MAXIMIZED_VERT (垂直方向最大化),
MAXIMIZED_BOTH (水平、垂直方向都最大化)。
例 1
在了解窗口組件 JFrame 的語法之后,下面使用 JFrame 類創建一個窗口。要求設置窗口的標題為“Java 第一個 GUI 程序”,并向窗口內添加“這是使用 JFrame 類創建的窗口”文本。具體實現代碼如下:
上述代碼創建的 JFrameDemo 類繼承了 JFrame 類,因此 JFrameDemo 類可以直接使用 JFrame 類的方法。
setTitle() 方法用來設置窗口標題,setDefaultCloseOperation() 方法用來設置響應方式,即當單擊“關閉”按鈕時退出該程序。
在構造方法中使用 JLabel 類創建一個標簽對象 jl,其參數是標簽的文本提示信息。JFrame 框架的 getContentPane() 方法獲取了內容窗格對象,并使用 add() 方法將標簽添加到內容窗格上。最后的 setVisible() 方法是從父類中繼承的方法。
程序運行的窗口結果如圖 2 所示。
JPanel 面板
JPanel 是一種中間層容器,它能容納組件并將組件組合在一起,但它本身必須添加到其他容器中使用。
JPanel 類的構造方法如下。
JPanel 類的常用方法:
Component add(Component comp)---- 將指定的組件追加到此容器的尾部
void remove(Component comp) ----從容器中移除指定的組件
void setFont(Font f) ----設置容器的字體
void setLayout(LayoutManager mgr) ----設置容器的布局管理器
void setBackground(Color c) ----設置組件的背景色
例 2
編寫一個使用 JPanel 組件的窗口程序。要求設置標題為“Java的第二個GUI程序”,然后向窗口中添加一個面板,并設置面板上顯示的文本為“這是放在JPanel上的標簽”,設置面板背景顏色為白色。具體實現代碼如下:
如上述代碼,首先創建了一個 JFrame 對象,并設置其大小和位置,
然后創建了一個 JPanel對象表示面板,調用 setBackground() 方法設置面板的背景色為白色,調用 add() 方法將標簽添加到此面板。
JFrame 類的 add() 方法將 JPanel 面板添加到 JFmme 窗口中。最后調用 setVisible() 方法將窗口設置為可見。
運行程序,顯示的窗口如圖 3 所示。
總結
以上是生活随笔為你收集整理的2、Java Swing JFrame和JPanel:窗口容器和面板容器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5、优化MySQL服务器
- 下一篇: java美元兑换,(Java实现) 美元