如何编写项目监听器

项目事件由实现ItemSelectableinterface的组件触发。通常,ItemSelectable组件为一个或多个项目保持开/关状态。触发项目事件的 Swing 组件包括check boxes检查菜单项toggle buttons等...和combo boxes之类的按钮。

这是一些来自ComponentEventDemo.java的项目事件处理代码:

//where initialization occurs
checkbox.addItemListener(this);
...
public void itemStateChanged(ItemEvent e) {
    if (e.getStateChange() == ItemEvent.SELECTED) {
        label.setVisible(true);
        ...
    } else {
        label.setVisible(false);
    }
}

项目监听器 API

ItemListener interface

因为ItemListener只有一种方法,所以没有相应的适配器类.

MethodPurpose
itemStateChanged(ItemEvent)在侦听组件中的状态更改后立即调用。

ItemEvent 类

MethodPurpose
Object getItem()返回与状态更改的项目关联的特定于组件的对象。通常这是一个String,其中包含所选项目上的文本。
ItemSelectable getItemSelectable()返回触发 item 事件的组件。您可以使用此方法代替getSource方法。
int getStateChange()返回项 Object 新状态。 ItemEvent类定义了两个状态:SELECTEDDESELECTED

使用项目侦听器的示例

下表列出了一些使用项目侦听器的示例。

ExampleWhere DescribedNotes
ComponentEventDemo本部分和如何编写组件侦听器在复选框上侦听项目事件,该复选框确定标签是否可见。
CheckBoxDemo如何使用复选框四个复选框共享一个项目侦听器,该侦听器使用getItemSelected确定哪个复选框触发了事件。
MenuDemo如何使用菜单在复选框菜单项上侦听项目事件。
MenuDemo如何使用滚动窗格在切换按钮上侦听项目事件。