圖形用戶界面(GUI)透過視覺化元素(視窗、按鈕、選單等)與滑鼠操作,讓用戶直觀地與系統互動。Java AWT(Abstract Window Toolkit)提供了一套跨平台的 GUI 組件庫,是 Swing、JavaFX 等高階框架的基石。掌握 AWT 核心組件,是理解 Java 桌面開發的關鍵第一步。
Java AWT 將界面元素劃分為三類:
容器具備六大核心特徵:
支援多選,需實作 ItemListener 處理狀態變更:
Checkbox one = new Checkbox("貓");
Checkbox two = new Checkbox("狗", true); // 預設選中
Checkbox three = new Checkbox("兔", false);
one.addItemListener(this);
add(one); add(two); add(three);
事件處理中可用 e.getState() 獲取選中狀態,e.getItemSelectable() 取得事件源。
同組單選按鈕互斥,透過 CheckboxGroup 管理:
CheckboxGroup cbg = new CheckboxGroup();
Checkbox one = new Checkbox("正確", false, cbg);
Checkbox two = new Checkbox("不正確", false, cbg);
Checkbox three = new Checkbox("我也不知道", true, cbg);
可用 cbg.getSelectedCheckbox() 取得當前選項,cbg.setSelectedCheckbox() 程式化設定選中項。
Choice 佔用空間小,單選;List 可見多行,支援多選(new List(4, true))。兩者皆觸發 ItemEvent,可用 getSelectedIndex()、getSelectedItem() 獲取選擇結果。
純顯示組件,不可編輯、不產生事件。常用方法:setText()、getText()、setAlignment()。
TextField:單行輸入,setEchoChar('*') 可做密碼欄TextArea:多行文本,append()、insert() 支援動態增刪均需註冊 ActionListener 或 TextListener 處理內容變更。
核心動作觸發器,註冊 ActionListener,事件處理中用 e.getActionCommand()、e.getSource() 識別來源。所有組件必須 add() 到容器才會顯示。
AWT 採用「委派事件模型」:組件(事件源)+ 監聽器(處理者)+ 事件對象(狀態封裝)。開發時遵循:創建組件 → 註冊監聽器 → 加入容器 → 實作事件方法 四步驟。
雖然現代開發多用 Swing/JavaFX,但 AWT 作為基石,其組件體系、事件模型、佈局管理思想仍貫穿 Java GUI 開發始終。熟練掌握本文各組件用法,為進階界面開發打下堅實基礎。