首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java Swing 組件大全:從架構設計到事件處理的完整實戰教學

     編輯:Java 相關知識

學習方法論:動手設計,拒絕照抄

閱讀書籍時似懂非懂,關鍵在於「沒經過大腦思考、手寫代碼」。建議流程:

  1. 閱讀組件介紹建立感性認知。
  2. 手繪介面草圖,規劃模組劃分。
  3. 自行實作,嘗試套用書中所有方法。
  4. 遇到問題回頭查書、查文檔,形成自己的知識體系。

專案架構設計

  • 主模組 SwingTest:繼承 JFrame,採用 BorderLayout 佈局,掛載選單列與四大面板。
  • MenuTest:繼承 JMenuBar,負責選單顯示與事件。
  • LeftPanel / CenterPanel / RightPanel / BottomPanel:繼承 JPanel,各自管理子組件佈局。

Swing 組件大全執行畫面 模組結構圖

核心容器與佈局管理器

容器/嵌板用途
JFrame主視窗框架,組件需加入 getContentPane()
JPanel輕量級容器,直接加入組件
JSplitPane分割面板,僅能分割兩個子組件(三個以上需巢狀)
JTabbedPane頁籤面板,單次顯示一頁

常用佈局:BorderLayout(預設五區)、FlowLayout(流式)、GridLayout(網格)、GridBagLayout(強大但複雜)。

事件處理模式

  • 組件觸發事件 → 監聽器接收 → 處理邏輯。
  • 介面方法過多時,繼承對應 Adapter 類別(如 WindowAdapter),僅覆寫需求方法。
  • 推薦使用匿名內部類註冊監聽器,封裝邏輯。
// 視窗關閉事件範例
addWindowListener(new WindowAdapter() {
    @Override public void windowClosing(WindowEvent e) {
        dispose(); System.exit(0);
    }
});

主視窗建構子完整程式碼

public SwingTest() {
    MenuTest menu = new MenuTest();
    LeftPanel left = new LeftPanel();
    CenterPanel center = new CenterPanel();
    RightPanel right = new RightPanel();
    BottomPanel bottom = new BottomPanel();

    Container c = getContentPane(); // BorderLayout 預設
    setJMenuBar(menu);
    c.add(left, BorderLayout.WEST);
    c.add(center, BorderLayout.CENTER);
    c.add(right, BorderLayout.EAST);
    c.add(bottom, BorderLayout.SOUTH);

    setSize(700, 500);
    setTitle("Swing 組件大全");
    setLocation(200, 150);
    setVisible(true);

    addWindowListener(new WindowAdapter() {
        @Override public void windowClosing(WindowEvent e) { dispose(); System.exit(0); }
    });
}

進階挑戰建議

  • 樹形組件整合檔案系統瀏覽器。
  • 表格 JTable 連接資料庫實現 CRUD。
  • 文本區 JTextPane 支援圖文混排。
  • 定時器 Timer 驅動動畫或輪詢。
所有原始碼已整合單一檔案並附詳細註解,建議先閱讀架構設計再逐模組研讀,並嘗試拆分為獨立類別檔案練習。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved