文档

Java™ 教程
隐藏目录
如何编写项目监听器
导航: 使用Swing创建GUI
课程: 编写事件监听器
章节: 为常见处理事件实现监听器

如何编写项目监听器

项目事件由实现了 ItemSelectable 接口的组件触发。通常,ItemSelectable 组件会维护一个或多个项目的开/关状态。触发项目事件的 Swing 组件包括按钮,如复选框复选菜单项切换按钮等,以及组合框

下面是从 ComponentEventDemo.java 中提取的一些项目事件处理代码:

// 在初始化时
checkbox.addItemListener(this);
...
public void itemStateChanged(ItemEvent e) {
    if (e.getStateChange() == ItemEvent.SELECTED) {
        label.setVisible(true);
        ...
    } else {
        label.setVisible(false);
    }
}

项目监听器 API

项目监听器接口

由于 ItemListener 只有一个方法,所以没有相应的适配器类。

方法 目的
itemStateChanged(ItemEvent) 在被监听组件的状态发生变化后调用。

项目事件类

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

使用项目监听器的示例

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

示例 描述位置 备注
ComponentEventDemo 本节和如何编写组件监听器 监听复选框上的项目事件,确定标签是否可见。
CheckBoxDemo 如何使用复选框 四个复选框共享一个项目监听器,使用getItemSelected确定哪个复选框触发了事件。
MenuDemo 如何使用菜单 监听复选框菜单项上的项目事件。
MenuDemo 如何使用滚动窗格 监听切换按钮上的项目事件。

上一页: 如何编写内部框架监听器
下一页: 如何编写键盘监听器