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

Java Swing 記事本實作(一):UI 初始化、選單與工具列建構

     編輯:Java 相關知識

概述

本系列第一部分建立記事本的視覺骨架:主視窗(JFrame)、選單列(JMenuBar)、工具列(JToolBar)、文字編輯區(JTextArea + JScrollPane)、狀態列(JLabel)與右鍵彈出選單(JPopupMenu)。並完成所有元件的事件監聽器註冊。

類別結構與介面實作

public class Notepad extends JFrame implements ActionListener, MouseListener
  • ActionListener:處理選單項目、工具列按鈕、核取方塊等動作事件。
  • MouseListener:處理文字區滑鼠事件(右鍵選單觸發)。

主要元件宣告

類別用途
JMenuBar, JMenu, JMenuItem選單列、下拉選單、選單項目
JToolBar, JButton工具列與圖示按鈕(新建、開啟、儲存)
JTextArea多行文字編輯區
JScrollPane, JViewport捲軸容器
JPopupMenu, JMenuItem右鍵彈出選單
JFileChooser, JColorChooser檔案/顏色選擇對話框
Clipboard, StringSelection系統剪貼簿操作

介面佈局與元件組裝

  1. BorderLayout:主視窗採用 BorderLayout,工具列置北(NORTH),文字區置中(CENTER),狀態列置南(SOUTH)。
  2. 選單列建構:
    • 文件:新建、開啟、儲存、另存、分隔線、結束
    • 編輯:剪下、複製、貼上、刪除、分隔線、查找、全選、時間/日期
    • 格式:字體、顏色、自動換行(JCheckBoxMenuItem)
    • 幫助:關於
  3. 快速鍵與助記鍵:使用 setMnemonic()(Alt+字母)與 setAccelerator(KeyStroke)(Ctrl+字母)設定鍵盤快捷鍵。
  4. 右鍵選單:建立 JPopupMenu 加入四個項目,並向 jTextArea1 註冊 MouseListener。
  5. 捲軸設定:將 JTextArea 放入 JViewport 再置入 JScrollPane,確保捲軸正常運作。

事件監聽器註冊策略

  • 適配器類別:為「新建、開啟、儲存、另存、結束」建立獨立 ActionListener 適配器(如 File_new_actionAdapter),內部轉呼叫主類別對應方法,實現關注點分離。
  • 主類別直接處理:編輯、格式、幫助選單項目、右鍵選單項目直接由 Notepad.actionPerformed() 分派。
  • 工具列按鈕:與對應選單項目共用相同適配器實例。

關鍵初始化細節

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 關閉視窗即結束程式
jTextArea1.setDoubleBuffered(false);            // 關閉雙緩衝(舊版 JDK 相容)
show(); validate();                             // 顯示視窗並佈局驗證

小結

此部分奠定了記事本的完整 UI 架構,展示了 Swing 容器巢狀、選單/工具列/右鍵選單的協同建構、快速鍵設定與事件監聽器模組化註冊技巧,為後續功能實作鋪路。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved