Pages

2011年4月11日 星期一

[Java] 圖形介面第二次總整理

以下記錄我學習到的JAVA關於圖形介面的整理:

1. import java.awt.*
這是Abstract Windows Toolkit類別庫。

2. import java.awt.event.*
在這個package裡有許多Listener和Event。

我先在此記錄使用implement ActionListener的方式,來產生event。
當撰寫implement ActionListener時,查手冊可知,ActionListener裡只有一個interface,就是actionPerformed要撰寫。

依照以下步驟來撰寫事件:

(i) 創造一個class(假設類別名稱叫做UncleClass),並讓此類別implements ActionListener。
(ii) 接著只要在這個UncleClass裡,每個物件立即會自動有addActionListener這個方法。利用這個方法可以呼叫actionPerformed來處理執行觸發的事件。

整體程式架構如下:

import java.awt.*;
import java.awt.event.*

public class UncleClass implements ActionLister
{
//這裡宣告要放在這個視窗裡的物件,如按鈕或文字等等。

public static void main(String s[])
{
UncleClass uncle = new UncleClass();
}
public UncleClass()
{
//在建構式裡面,要做的事情就是把剛剛宣告的物件,設好屬性,add進來。
//例如先new出一個按鈕Bt,設定好大小位置或文字等等屬性。
//然後將這個按鈕,用this.add(Bt)的方式,貼到這個視窗上。
//最後寫Bt.addActionListener(this);將觸發事件交給actionPerformed處理。
}

public void actionPerformed(ActionEvent evt)
{
//處理觸發事件。
}
}// class UncleClass.

//------------------------------------------------------------------------//
3. 還有一種寫法:
public class UncleClass extends Frame
{
//跟上面的寫法一樣。
//只是在addActionListener時候,寫Bt.addActionListener( new BtListener() );
}
class BtListener implements ActionListener
{
//在這裡把interface寫好。
public void actionPerformed(ActionEvent evt)
{
//處理觸發事件。
}
}

//我個人覺得比較喜歡第二種架構。

沒有留言:

張貼留言