Java API 分類導覽 - java.awt.Choice remove()

Choice 類別 (class) 的 remove() 方法 (method) 用來移除選項。



修飾子與參數
public void remove(String item)
public void remove(int position)


remove() 的沒有回傳值 (return value) ,有兩個參數 (paramenter) 版本,第一個為 String 型態 (type) 字串物件 (object) ,依文字標籤移除選項,第二個為整數,依索引值移除選項。


舉例如下
import java.awt.*;
import java.awt.event.*;

public class ChoiceDemo implements ItemListener {
    Frame frame;
    Choice choice;
    
    public static void main(String[] args) {
        new ChoiceDemo();
    }
    
    public ChoiceDemo() {
        frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setLayout(new FlowLayout());
        
        choice = new Choice();
        choice.addItemListener(this);
        choice.add("one");
        choice.add("two");
        choice.add("three");
        choice.add("remove all");
        choice.select("three");
        
        frame.add(choice);
        
        frame.pack();
        frame.setVisible(true);
        
        for (int i = 0;i < choice.getItemCount();i++) {
            System.out.println(i + " : " + choice.getItem(i));
        }
    }
    
    public void itemStateChanged(ItemEvent e) {
        Choice c = (Choice) e.getSource();
        System.out.println("index: " + c.getSelectedIndex()); 
        System.out.println("item: " + c.getSelectedItem());
        if (c.getSelectedItem() == "one") {
            c.insert("demo", 1);
        }       
        if (c.getSelectedItem() == "two") {
            c.remove("one");
        }
        if (c.getSelectedItem() == "three") {
            c.remove(1);
        }
        if (c.getSelectedItem() == "remove all") {
            c.removeAll();
        }
    }
}

class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}

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


此例的 ChoiceDemo 直接實作 ItemListener 介面
public class ChoiceDemo implements ItemListener {


先建立 Choice 型態的物件後,接下來呼叫 Choice 型態的 addItemListener() 設定事件處理, 並以 this 當參數,然後依序呼叫 Choice 型態的 add() ,加入四個選項標籤後,最後呼叫 Choice 型態的 select() ,並以其中一個標籤當預設選項
choice = new Choice();
choice.addItemListener(this);
choice.add("one");
choice.add("two");
choice.add("three");
choice.add("remove all");
choice.select("three");


建構子的最後一個工作是利用迴圈,並呼叫 Choice 的 getItemCount() 取得選項總數當迴圈結束條件,然後在命令列呼叫 Choice 的 getItem() 印出每個選項的資訊
for (int i = 0;i < choice.getItemCount();i++) {
     System.out.println(i + " : " + choice.getItem(i));
}


由於 Choice 實作 ItemListener 介面,因此要寫出 itemStateChanged()
public void itemStateChanged(ItemEvent e) {
    Choice c = (Choice) e.getSource();
    System.out.println("index: " + c.getSelectedIndex()); 
    System.out.println("item: " + c.getSelectedItem());
    if (c.getSelectedItem() == "one") {
        c.insert("demo", 1);
    }       
    if (c.getSelectedItem() == "two") {
        c.remove("one");
    }
    if (c.getSelectedItem() == "three") {
        c.remove(1);
    }
    if (c.getSelectedItem() == "remove all") {
        c.removeAll();
    }
}


只要有文字標籤被選取,就呼叫 Choice 的 getSelectedIndex() 印出選項的索引值, getSelectedItem() 印出選項的文字標籤,然後判斷是哪個選項,如果 one 被選取,就呼叫 Choice 的 insert() 插入新的選項,如果 two 被選取,就呼叫 Choice 的 remove() 移除掉 one ,如果 three 被選取,就移除掉索引值為 1 的選項,如果 remove all 被選取,就呼叫 Choice 的 removeAll() 移除掉所有選項。


編譯後執行,結果如下



中英文術語對照
類別class
方法method
回傳值return value
型態type
物件object
參數parameter


您可以繼續參考
AWT 元件


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


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

沒有留言: