日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

2、Java Swing JFrame和JPanel:窗口容器和面板容器

發布時間:2025/3/20 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 (水平、垂直方向都最大化)。

  • publicvoid setDefaultCloseOperation(int operation)----該方法用來設置單擊窗體右上角的關閉圖標后,程序會做出怎樣的處理,其中的參數operation取JFrame類中的下列int型static常量,程序根據參數operation取值做出不同的處理:
  • DO_NOTHING_ON_CLOSE(什么也不做), HIDE_ON_CLOSE (隱藏當前窗口), DISPOSE_ON_CLOSE (隱藏當前窗口,并釋放窗體占有的其他資源), EXIT_ON_CLOSE (結束窗口所在的應用程序)。
  • getContentPane()---- 返回此窗體的 contentPane 對象
  • getDefaultCloseOperation()---- 返回用戶在此窗體上單擊“關閉”按鈕時執行的操作
  • setContentPane(Container contentPane)---- 設置 contentPane 屬性
  • setDefaultLookAndFeelDecorated (boolean defaultLookAndFeelDecorated)---- 設置 JFrame 窗口使用的 Windows 外觀(如邊框、關閉窗口的小部件、標題等)
  • setIconImage(Image image)---- 設置要作為此窗口圖標顯示的圖像
  • setJMenuBar( JMenuBar menubar) ----設置此窗體的菜單欄
  • setLayout(LayoutManager manager) ----設置 LayoutManager 屬性
  • 例 1
    在了解窗口組件 JFrame 的語法之后,下面使用 JFrame 類創建一個窗口。要求設置窗口的標題為“Java 第一個 GUI 程序”,并向窗口內添加“這是使用 JFrame 類創建的窗口”文本。具體實現代碼如下:

    import javax.swing.JFrame; import javax.swing.JLabel; import java.awt.*; public class JFrameDemo extends JFrame {public JFrameDemo(){setTitle("Java 第一個 GUI 程序"); //設置顯示窗口標題setSize(400,200); //設置窗口顯示尺寸setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //置窗口是否可以關閉JLabel jl=new JLabel("這是使用JFrame類創建的窗口"); //創建一個標簽Container c=getContentPane(); //獲取當前窗口的內容窗格c.add(jl); //將標簽組件添加到內容窗格上setVisible(true); //設置窗口是否可見}public static void main(String[] agrs){new JFrameDemo(); //創建一個實例化對象} }

    上述代碼創建的 JFrameDemo 類繼承了 JFrame 類,因此 JFrameDemo 類可以直接使用 JFrame 類的方法

    setTitle() 方法用來設置窗口標題,setDefaultCloseOperation() 方法用來設置響應方式,即當單擊“關閉”按鈕時退出該程序。

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

    程序運行的窗口結果如圖 2 所示。

    JPanel 面板

    JPanel 是一種中間層容器,它能容納組件并將組件組合在一起,但它本身必須添加到其他容器中使用。

    JPanel 類的構造方法如下。

  • JPanel():使用默認的布局管理器創建新面板,默認的布局管理器為 FlowLayout。
  • JPanel(LayoutManagerLayout layout):創建指定布局管理器的 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上的標簽”,設置面板背景顏色為白色。具體實現代碼如下:

    import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import java.awt.*; public class JPanelDemo { public static void main(String[] agrs){JFrame jf=new JFrame("Java第二個GUI程序"); //創建一個JFrame對象jf.setBounds(300, 100300100是位置), 400, 200400,200是大小)); //設置窗口大小和位置JPanel jp=new JPanel(); //創建一個JPanel對象JLabel jl=new JLabel("這是放在JPanel上的標簽"); //創建一個標簽jp.setBackground(Color.white); //設置背景色jp.add(jl); //將標簽添加到面板jf.add(jp); //將面板添加到窗口jf.setVisible(true); //設置窗口可見} }

    如上述代碼,首先創建了一個 JFrame 對象,并設置其大小和位置,
    然后創建了一個 JPanel對象表示面板,調用 setBackground() 方法設置面板的背景色為白色,調用 add() 方法將標簽添加到此面板。
    JFrame 類的 add() 方法將 JPanel 面板添加到 JFmme 窗口中。最后調用 setVisible() 方法將窗口設置為可見。

    運行程序,顯示的窗口如圖 3 所示。

    總結

    以上是生活随笔為你收集整理的2、Java Swing JFrame和JPanel:窗口容器和面板容器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。