Java API 分類導覽 - AWT 套件

AWT 為 Abstract Window Toolkit 的頭字母縮寫詞,其為 Java API 中提供基礎 GUI 設計的套件 (package) ,包含各種視窗元件、繪圖、排版與事件處理等各種應用的類別 (class) 與介面 (interface) 。



AWT 元件類別如下
名稱敘述
Button建立按鈕
Canvas用作繪圖的畫布
Checkbox用作可複選的選項按鈕
CheckboxGroup將 Checkbox 分組成單選的選項按鈕
Choice用作下拉式選單
Component大部分 AWT 視窗元件的父類別
ContainerPanel 、 ScrollPane 、 Window 等的父類別
Dialog建立對話視窗
FileDialog建立檔案處理的對話視窗
Frame用作放元件的視窗
Label建立文字標籤
List建立多重選取項
Menu建立選單
MenuBar建立選單列
MenuItem建立選單的選項
MenuShortcut建立選單選項的鍵盤捷徑
PanelApplet 的父類別
PopupMenu建立快顯功能表
Scrollbar建立捲軸
ScrollPane放好水平及垂直捲軸的 Container 類別
TextArea建立多行的文字輸入框
TextComponentTextArea 與 TextField 的父類別
TextField建立單行的文字輸入框
WindowDialog 、 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 則留言:

Unknown 提到...

想請問一下要怎麼用AWT在panel上顯示圖片?
上網找只找到用swing的img label, 可是我不能用Swing..