AWT 元件類別如下
名稱 敘述 Button 建立按鈕 Canvas 用作繪圖的畫布 Checkbox 用作可複選的選項按鈕 CheckboxGroup 將 Checkbox 分組成單選的選項按鈕 Choice 用作下拉式選單 Component 大部分 AWT 視窗元件的父類別 Container Panel 、 ScrollPane 、 Window 等的父類別 Dialog 建立對話視窗 FileDialog 建立檔案處理的對話視窗 Frame 用作放元件的視窗 Label 建立文字標籤 List 建立多重選取項 Menu 建立選單 MenuBar 建立選單列 MenuItem 建立選單的選項 MenuShortcut 建立選單選項的鍵盤捷徑 Panel Applet 的父類別 PopupMenu 建立快顯功能表 Scrollbar 建立捲軸 ScrollPane 放好水平及垂直捲軸的 Container 類別 TextArea 建立多行的文字輸入框 TextComponent TextArea 與 TextField 的父類別 TextField 建立單行的文字輸入框 Window Dialog 、 Frame 等的父類別
字型與顏色類別如下
名稱 敘述 Font 設定字型 Color 設定顏色 SystemColor 系統預設顏色
繪圖類別如下
名稱 敘述 Graphics 進行繪圖工作 Graphics2D 另外建立 Shape 物件繪圖
排版管理員類別如下
名稱 敘述 BorderLayout 邊界式排版管理員 CardLayout 卡片式排版管理員 FlowLayout 流動式排版管理員 GridBagConstraints 設定 GridBagLayout 需要的屬性 GridBagLayout 複雜型格子式排版管理員 GridLayout 簡易型格子式排版管理員
事件處理的類別與介面如下
事件名稱 敘述 ActionEvent 處理按鈕被按下的事件 AdjustmentEvent 處理捲軸滾動的事件 ItemEvent 處理選項選取或取消選取相關事件 KeyAdapter 已實作 KeyListener 介面的類別 KeyEvent 處理鍵盤按鍵相關事件 MouseAdapter 已實作 MouseListener 、 MouseMotionListener 、 MouseWheelListener 等介面的類別 MouseEvent 處理滑鼠相關事件 MouseMotionAdapter 已實作 MouseMotionListener 介面的類別 MouseWheelEvent 處理滑鼠捲軸相關事件 TextEvent 處理文字輸入相關事件 WindowAdapter 已實作 WindowFocusListener 、 WindowListener 、 WindowStateListener 等介面的類別 WindowEvent 處理視窗相關事件
介面名稱 敘述 ActionListener 進行按鈕事件的處理 AdjustmentListener 進行捲軸事件的處理 ItemListener 進行選項事件的處理 KeyListener 進行鍵盤事件的處理 MouseListener 進行滑鼠事件的處理 MouseMotionListener 進行滑鼠移動事件的處理 MouseWheelListener 進行滑鼠滾輪事件的處理 TextListener 進行視窗焦點事件的處理 WindowFocusListener 進行文字輸入事件的處理 WindowListener 進行視窗事件的處理 WindowStateListener 進行視窗狀態事件的處理
舉例如下
import java.awt.*; import java.awt.event.*; public class AWTDemo2 { public static void main(String[] args) { Frame frame = new Frame("AWTDemo"); frame.addWindowListener(new AdapterDemo()); frame.setLayout(new FlowLayout()); Button button = new Button("AWT1"); Checkbox checkbox = new Checkbox("AWT2"); Choice choice = new Choice(); choice.add("AWT3"); Label label = new Label("AWT4"); List list = new List(); list.add("AWT5"); TextArea textarea = new TextArea("AWT6"); TextField textfield = new TextField("AWT7"); frame.add(button); frame.add(checkbox); frame.add(choice); frame.add(label); frame.add(list); frame.add(textarea); frame.add(textfield); frame.pack(); frame.setVisible(true); } } class AdapterDemo extends WindowAdapter { public void windowClosing(WindowEvent e) { System.exit(0); } } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名:AWTDemo2.java 功能:示範 Java 程式 作者:張凱慶 時間:西元 2012 年 3 月 */
大體上是用 Frame 當視窗,其他元件放在 Frame 之中,我們另外呼叫兩個 Frame 的方法, addWindowListener() 是視窗的事件處理,我們這裡只有定義怎麼關閉視窗,另外 setLayout() 設定版面編排模式,這裡設定成流動模式
Frame frame = new Frame("AWTDemo"); frame.addWindowListener(new AdapterDemo()); frame.setLayout(new FlowLayout());
接著我們建立七個不同的視窗元件,分別是 Button 、 Checkbox 、 Choice 、 Label 、 List 、 TextArea 、 TextField
Button button = new Button("AWT1"); Checkbox checkbox = new Checkbox("AWT2"); Choice choice = new Choice(); choice.add("AWT3"); Label label = new Label("AWT4"); List list = new List(); list.add("AWT5"); TextArea textarea = new TextArea("AWT6"); TextField textfield = new TextField("AWT7");
視窗元件建立後, Frame 必須呼叫 add() 方法將這些視窗元件加入
frame.add(button); frame.add(checkbox); frame.add(choice); frame.add(label); frame.add(list); frame.add(textarea); frame.add(textfield);
最後 Frame 還呼叫了 pack() 與 setVisible() ,因為我們沒有設定 Frame 的大小, pack() 是讓各視窗元件自動排列整齊, setVisible() 並以 true 當參數,這是設定 Frame 會顯示視窗出來,假如沒有呼叫 setVisible() ,視窗就不會顯示了
frame.pack(); frame.setVisible(true);
編譯後執行,結果如下
中英文術語對照 | |
---|---|
套件 | package |
類別 | class |
介面 | interface |
相關目錄
Java API 分類導覽
Java 教材
首頁
參考資料
http://docs.oracle.com/javase/6/docs/api/java/awt/package-summary.html
1 則留言:
想請問一下要怎麼用AWT在panel上顯示圖片?
上網找只找到用swing的img label, 可是我不能用Swing..
張貼留言