📜  Java ItemListener接口(1)

📅  最后修改于: 2023-12-03 15:31:30.963000             🧑  作者: Mango

Java ItemListener接口

Java ItemListener接口是一个事件处理接口,用于在当用户改变选项后通知相应的监听器。

常用方法
itemStateChanged(ItemEvent e)

当选项状态发生改变时,会调用该方法。需要注意的是,该方法是由程序自动调用的,不需要手动调用。

实现方法

实现ItemListener接口很简单,只需要在需要监听的组件上添加监听器即可。

import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JCheckBox;
import javax.swing.JFrame;

public class CheckBoxDemo extends JFrame implements ItemListener {
  private JCheckBox checkBox1, checkBox2;

  public CheckBoxDemo() {
    super("CheckBox Demo");
    setLayout(new FlowLayout());
    checkBox1 = new JCheckBox("CheckBox 1");
    checkBox2 = new JCheckBox("CheckBox 2");

    add(checkBox1);
    add(checkBox2);

    checkBox1.addItemListener(this);
    checkBox2.addItemListener(this);

    setSize(300, 120);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
  }

  public void itemStateChanged(ItemEvent e) {
    Object source = e.getItemSelectable();

    if (source == checkBox1) {
      System.out.println("Checkbox 1 state changed");
    } else if (source == checkBox2) {
      System.out.println("Checkbox 2 state changed");
    }
  }

  public static void main(String[] args) {
    new CheckBoxDemo();
  }
}
注意事项
  1. ItemListener接口只能用来监听选项的状态改变,不能监听其他类型的事件。
  2. 在实现ItemListener接口时,必须实现itemStateChanged方法,否则会报错。