Java API 分類導覽 - java.awt.event.ItemEvent

ItemEvent 類別 (class) 主要處理選項選取或取消選取相關事件,此為實作 ItemListener 介面 (interface) 後, itemStateChanged() 的參數 (parameter) e 即為 ItemEvent 物件 (object) 。



修飾子
public class ItemEvent


父類別
java.awt.AWTEvent


實作介面
Serializable


建構子
public ItemEvent(ItemSelectable source, int id, Object item, int stateChange)


常用屬性
名稱敘述
SELECTEDgetStateChange() 的回傳值,表示選項被選取
DESELECTEDgetStateChange() 的回傳值,表示選項沒有被選取


常用方法
名稱敘述
getItem()取得選項標籤,實際回傳為 Object 物件
getStateChange()取得選項狀態的值


舉例如下
import java.awt.*;
import java.awt.event.*;
 
public class ItemEventDemo implements ItemListener {
    Frame frame;
    Checkbox checkbox1, checkbox2, checkbox3;
     
    public static void main(String[] args) {
        new ItemEventDemo();
    }
     
    public ItemEventDemo() {
        frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setLayout(new FlowLayout());
         
        checkbox1 = new Checkbox("c1");
        checkbox1.addItemListener(this);
        checkbox2 = new Checkbox("c2");
        checkbox2.addItemListener(this);
        checkbox3 = new Checkbox("c3");
        checkbox3.addItemListener(this);
         
        frame.add(checkbox1);
        frame.add(checkbox2);
        frame.add(checkbox3);
         
        frame.pack();
        frame.setVisible(true);
    }
     
    public void itemStateChanged(ItemEvent e) {
        String l = (String) e.getItem();
        if (e.getStateChange() == ItemEvent.SELECTED) {
            System.out.println(l + " selected");
        }
        if (e.getStateChange() == ItemEvent.DESELECTED) {
            System.out.println(l + " deselected");
        }
    }
}
 
class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:ItemEventDemo.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2012 年 3 月 */


此例的 ItemEventDemo 有實作 ItemListener 介面
public class ItemEventDemo implements ItemListener {


因此需要實作 itemStateChanged() 方法,參數 e 就是 ItemEvent 物件,接著呼叫 ItemEvent 的 getItem() 取得選項標籤,若是 getStateChange() 的回傳值等於 ItemEvent.SELECTED ,就印出該選項標籤與被選取的提示,反之,若是 getStateChange() 的回傳值等於 ItemEvent.DESELECTED ,就印出該選項標籤與取消選取的提示
public void itemStateChanged(ItemEvent e) {
    String l = (String) e.getItem();
    if (e.getStateChange() == ItemEvent.SELECTED) {
        System.out.println(l + " selected");
    }
    if (e.getStateChange() == ItemEvent.DESELECTED) {
        System.out.println(l + " deselected");
    }
}


編譯後執行,結果如下



中英文術語對照
類別class
介面interface
參數parameter
物件object


您可以繼續參考
事件處理


相關目錄
Java API 分類導覽
Java 教材
首頁


參考資料
http://docs.oracle.com/javase/6/docs/api/java/awt/event/ItemEvent.html

沒有留言: