Java Swing之JFrame、JPanel


JFrame窗口容器和JPanel面板容器

Java Swing中,任何一個Swing組件都需要置於一個頂層容器中。JFrame窗口和JPanel面板是常用的頂層容器。JFrame中的頂層容器主要有JFrame、JDialog 和 JApplet。

JFrame(窗口容器)

Java GUI程序基本思路是以JFrame為基礎,用來設計類似於Windows系統中窗口形式的界面,它是屏幕上window的對象,能夠最大化、最小化、關閉。JFrame是Swing組件的頂層容器,該類繼承了AWT的Frame類,支持Swing體系結構的高級GUI屬性。

JFrame類的常用構造方法如下:

構造函數 描述
JFrame() 構造一個初始時不可見的新窗體
JFrame(String title) 創建一個具有title指定標題的不可見新窗體
JFrame(GraphicsConfiguration gc) 在指定GraphicsConfiguration的屏幕設備和空白標題中創建一個新窗體
JFrame(String title, GraphicsConfiguration gc) 創建具有指定標題和指定GraphicsConfiguration屏幕設備的新窗體

JFrame類中的常用方法如下:

構造函數 描述
getContentPane() 返回此窗體的contentPane對象
getDefaultCloseOperation() 返回用戶在此窗體上單擊“關閉”按鈕時執行的操作
setContentPane(Container contentPane) 設置contentPane屬性
setDefaultCloseOperation(int operation) 設置用戶在此窗體上單擊“關閉”按鈕時默認執行的操作
setDefaultLookAndFeelDecorated(boolean defaultLookAndFeelDecorated) 設置JFrame窗口使用的Windows外觀(如邊框、關閉窗口的 小部件、標題等)
setIconImage(Image image) 設置要作為此窗口圖標顯示的圖像
setJMenuBar(JMenuBar menubar) 設置此窗體的菜單欄
setLayout(LayoutManager manager) 設置LayoutManager屬性

Example:
1.使用JFrame無參構造方法創建一個窗口:

package com.tianjh.swing;

import javax.swing.*;

/**
 * @author tianjh
 * @date 2021/3/5
 * 使用JFrame創建一個空窗口
 */
public class JFrameDemo {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame();
        // 設置窗口的標題
        jFrame.setTitle("這是由JFrame無參構造創建的窗口");
        // 設置窗口位置及尺寸
        jFrame.setBounds(500, 500, 500, 275);
        // 設置單擊“關閉”按鈕時退出程序
        jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        // 設置窗口是否可見,如果設置false或不設置那么窗口將不可見
        jFrame.setVisible(true);
    }
}

運行結果如下:
在這里插入圖片描述
2.使用JFrame帶參構造方法創建一個窗口:

public class JFrameDemo {
    public static void main(String[] args) {
        // 創建一個帶有指定標題的jFrame對象
        JFrame jFrame = new JFrame("這是由JFrame帶參構造創建的窗口");

        // 設置窗口位置及尺寸
        jFrame.setBounds(500, 500, 500, 275);
        // 設置單擊“關閉”按鈕時退出程序
        jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        // 設置窗口是否可見,如果設置false或不設置那么窗口將不可見
        jFrame.setVisible(true);
    }
}

運行結果如下:
在這里插入圖片描述

JPanel(面板容器)

JPanel是Java圖形用戶界面(GUI)工具包swing中的面板容器類,包含在javax.swing 包中,可以進行嵌套,功能是對窗體中具有相同邏輯功能的組件進行組合,是一種輕量級容器,可以加入到JFrame窗體中。
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) 設置組件的背景色

Example:
3.使用JPanel創建一個背景為橘色的面板

package com.tianjh.swing;

import javax.swing.*;
import java.awt.*;

/**
 * @author tianjh
 * @date 2021/3/5
 */
public class JPanelDemo {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame();
        jFrame.setTitle("使用JPanel創建一個背景為橘色的面板");
        // 設置窗口位置及尺寸
        jFrame.setBounds(500,500,500,275);
        // 設置單擊“關閉”按鈕時退出程序
        jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        // 創建面板
        JPanel jPanel = new JPanel();
        // 設置面板背景為橘色
        jPanel.setBackground(Color.orange);
        // 將面板添加到jFrame
        jFrame.add(jPanel);
        // 設置窗口是否可見,如果設置false或不設置那么窗口將不可見
        jFrame.setVisible(true);
    }
}

運行結果如下:
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM