SWING 容器

2020-07-29 10:06 更新

SWING 容器

容器是 SWING GUI 組件的組成部分。一個容器提供了一個可以放置組件的空間。在 AWT 中,一個容器是組件本身,并且它增加了功能來添加組件本身。下面是需要考慮的注意事項(xiàng)。

  • 容器的子類被稱為容器。例如 JPanel,JFrame 和 JWindow。

  • 容器可以僅僅添加組件到自身。

  • 一個默認(rèn)的布局使用 setLayout 方法來呈現(xiàn)在每個可以被重寫的容器中。

從功能上可分為:

頂層容器:JFrame、JApplet、JDialog、JWindow共4個

中間容器:JPanel、JScrollPane、JSplitPane、JToolBar

使用 JFrame 類創(chuàng)建 GUI 界面時,其組件的布局組織示意如圖 1 所示。

JFrame窗口組件組織
圖1 JFrame窗口組件組織
在圖 1 中顯示有“大家好”的 Swing 組件需要放到內(nèi)容窗格的上面,內(nèi)容窗格再放到 JFrame 頂層容器的上面。菜單欄可以直接放到頂層容器 JFrame 上,而不通過內(nèi)容窗格。內(nèi)容窗格是一個透明的沒有邊框的中間容器。

SWING 容器:

下面是當(dāng)使用 SWING 設(shè)計(jì) GUI 事件時常用的容器列表。

序號 容器 & 描述
1 Panel
JPanel 是一個最簡單的容器。它提供了任何其他組件可以被放置的空間,包括其他面板。
2 Frame
JFrame 是一個帶有標(biāo)題和邊界的頂層窗口。
3 Window
JWindow 對象是一個沒有邊界和菜單條的頂層窗口。

在了解窗口組件 JFrame 的語法之后,下面使用 JFrame 類創(chuàng)建一個窗口。要求設(shè)置窗口的標(biāo)題為“Java 第一個 GUI 程序”,并向窗口內(nèi)添加“這是使用 JFrame 類創(chuàng)建的窗口”文本。具體實(shí)現(xiàn)代碼如下:

  1. package ch17;
  2. import javax.swing.JFrame;
  3. import javax.swing.JLabel;
  4. import java.awt.*;
  5. public class JFrameDemo extends JFrame
  6. {
  7. public JFrameDemo()
  8. {
  9. setTitle("Java 第一個 GUI 程序"); //設(shè)置顯示窗口標(biāo)題
  10. setSize(400,200); //設(shè)置窗口顯示尺寸
  11. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //置窗口是否可以關(guān)閉
  12. JLabel jl=new JLabel("這是使用JFrame類創(chuàng)建的窗口"); //創(chuàng)建一個標(biāo)簽
  13. Container c=getContentPane(); //獲取當(dāng)前窗口的內(nèi)容窗格
  14. c.add(jl); //將標(biāo)簽組件添加到內(nèi)容窗格上
  15. setVisible(true); //設(shè)置窗口是否可見
  16. }
  17. public static void main(String[] agrs)
  18. {
  19. new JFrameDemo(); //創(chuàng)建一個實(shí)例化對象
  20. }
  21. }


上述代碼創(chuàng)建的 JFrameDemo 類繼承了 JFrame 類,因此 JFrameDemo 類可以直接使用 JFrame 類的方法。setTitle() 方法用來設(shè)置窗口標(biāo)題,setDefaultCloseOperation() 方法用來設(shè)置響應(yīng)方式,即當(dāng)單擊“關(guān)閉”按鈕時退出該程序。

在構(gòu)造方法中使用 JLabel 類創(chuàng)建一個標(biāo)簽對象 jl,其參數(shù)是標(biāo)簽的文本提示信息。JFrame 框架的 getContentPane() 方法獲取了內(nèi)容窗格對象,并使用 add() 方法將標(biāo)簽添加到內(nèi)容窗格上。最后的 setVisible() 方法是從父類中繼承的方法。

程序運(yùn)行的窗口結(jié)果如圖 2 所示。

窗口運(yùn)行結(jié)果
圖2 窗口運(yùn)行結(jié)果


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號