JavaSE 项目事件类(ItemEvent)

{相关信息}
项目事件类(ItemEvent)是指某一个项目被选定、取消的语义事件。选择 CheckBox、ComboBox、List 、Choice等组件的时候将产生项目事件。使用项目事件必须给组件添加一个实现ItemListener 接口的事件处理器,该接口的方法如下:
void itemStateChange(ItemEvent e)

{具体实例描述}
功能描述,每选中一个项目便在文本区显示相关信息,如下:

{具体实例代码}

package sup.orange.learn;

import java.awt.*;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
 * Created by re-x on 10/30/14.
 */
public class ItemEventDemo extends Frame implements ItemListener{

    List list;
    Checkbox checkbox1, checkbox2, checkbox3;
    Choice colorChooser;
    TextArea textarea;


    public ItemEventDemo() {
        super();
        init();
    }

    public static void main(String[] args) {
        new ItemEventDemo();
    }

    public void init() {

        setLayout(new GridLayout(4, 1));
        textarea = new TextArea();
        add(textarea);

        list = new List(4, false);
        list.add("Chinese");
        list.add("math");
        list.add("English");
        list.add("physics");
        list.add("chemistry");
        list.add("history");
        list.add("geography");
        add(list);

        list.addItemListener(this);

        Panel panel = new Panel();
        CheckboxGroup cbg = new CheckboxGroup();

        checkbox1 = new Checkbox("one", cbg, true);
        checkbox1.addItemListener(this);
        panel.add(checkbox1);
        checkbox2 = new Checkbox("two", cbg, false);
        checkbox2.addItemListener(this);
        panel.add(checkbox2);
        checkbox3 = new Checkbox("three", cbg, true);
        checkbox3.addItemListener(this);
        panel.add(checkbox3);
        add(panel);

        colorChooser = new Choice();
        colorChooser.add("red");
        colorChooser.add("green");
        colorChooser.add("black");
        colorChooser.addItemListener(this);
        add(colorChooser);

        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                super.windowClosing(e);
                dispose();
                System.exit(0);
            }
        });

        setSize(300, 500);
        setVisible(true);
    }

    public void itemStateChanged(ItemEvent e) {
        if (e.getSource() == list) {
            textarea.setText(list.getSelectedItem());
        }
        else if (e.getSource() == checkbox1) {
            textarea.setText(checkbox1.getLabel());
        }
        else if (e.getSource() == checkbox2) {
            textarea.setText(checkbox2.getLabel());
        }
        else if (e.getSource() == checkbox3) {
            textarea.setText(checkbox3.getLabel());
        }
        else if (e.getSource() == colorChooser) {
            textarea.setText(colorChooser.getSelectedItem());
        }
    }
}
原文地址:https://www.cnblogs.com/aqing1987/p/4210486.html