Java API 分類導覽 - java.awt.Checkbox setLabel()

Checkbox 類別 (class) 的 setLabel() 方法 (method) 用來設定選項的文字。



修飾子與參數
public void setLabel(String label)


setLabel() 沒有回傳值 (return value) ,需要 String 型態 (type) 的物件 (object) 當參數 (paramenter) 。


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

public class CheckboxDemo implements ItemListener {
    Frame frame;
    Checkbox checkbox1, checkbox2, checkbox3;
    
    public static void main(String[] args) {
        new CheckboxDemo();
    }
    
    public CheckboxDemo() {
        frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setLayout(new FlowLayout());
        
        checkbox1 = new Checkbox("c1");
        checkbox1.addItemListener(this);
        checkbox2 = new Checkbox("c2");
        checkbox2.setState(true);
        checkbox2.addItemListener(this);
        checkbox3 = new Checkbox("c3");
        checkbox3.addItemListener(this);
        
        frame.add(checkbox1);
        frame.add(checkbox2);
        frame.add(checkbox3);
        
        frame.pack();
        frame.setVisible(true);
        
        System.out.println("c1: " + checkbox1.getState());
        System.out.println("c2: " + checkbox2.getState());
        System.out.println("c3: " + checkbox3.getState());
    }
    
    public void itemStateChanged(ItemEvent e) {
        Checkbox c = (Checkbox) e.getSource();
        String l = c.getLabel();
        if (e.getStateChange() == ItemEvent.SELECTED) {
            c.setLabel("on");
            System.out.println(l + " selected");
        }
        else {
            System.out.println(l + " deselected");
        }
    }
}

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

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


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


因此建立選項後,先呼叫 Checkbox 的 addItemListener() 設定事件處理, 並以 this 當參數
checkbox1 = new Checkbox("c1");
checkbox1.addItemListener(this);
checkbox2 = new Checkbox("c2");
checkbox2.setState(true);
checkbox2.addItemListener(this);
checkbox3 = new Checkbox("c3");
checkbox3.addItemListener(this);


其中第二個選項呼叫 Checkbox 的 setState() ,並以 true 當參數作為預設選項。


然後在命令列印出每個選項的狀態,這是呼叫 Checkbox 的 getState()
System.out.println("c1: " + checkbox1.getState());
System.out.println("c2: " + checkbox2.getState());
System.out.println("c3: " + checkbox3.getState());


由於 CheckboxDemo 實作 ItemListener 介面,因此要寫出 itemStateChanged()
public void itemStateChanged(ItemEvent e) {
    Checkbox c = (Checkbox) e.getSource();
    String l = c.getLabel();
    if (e.getStateChange() == ItemEvent.SELECTED) {
        c.setLabel("on");
        System.out.println(l + " selected");
    }
    else {
        System.out.println(l + " deselected");
    }
}


這是先利用 Checkbox 的 getLabel() 取得選項名稱,接著若是選擇該選項記就會呼叫 Checkbox 的 setLabel() 將選項名稱改為 "on" ,並在命令列印出相關訊息。


編譯後執行,結果如下



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


您可以繼續參考
AWT 元件


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


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

沒有留言: