如何编写项目监听器
项目事件由实现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
只有一种方法,所以没有相应的适配器类.
Method | Purpose |
---|---|
itemStateChanged(ItemEvent) | 在侦听组件中的状态更改后立即调用。 |
Method | Purpose |
---|---|
Object getItem() | 返回与状态更改的项目关联的特定于组件的对象。通常这是一个String ,其中包含所选项目上的文本。 |
ItemSelectable getItemSelectable() | 返回触发 item 事件的组件。您可以使用此方法代替getSource 方法。 |
int getStateChange() | 返回项 Object 新状态。 ItemEvent 类定义了两个状态:SELECTED 和DESELECTED 。 |
使用项目侦听器的示例
下表列出了一些使用项目侦听器的示例。
Example | Where Described | Notes |
---|---|---|
ComponentEventDemo | 本部分和如何编写组件侦听器 | 在复选框上侦听项目事件,该复选框确定标签是否可见。 |
CheckBoxDemo | 如何使用复选框 | 四个复选框共享一个项目侦听器,该侦听器使用getItemSelected 确定哪个复选框触发了事件。 |
MenuDemo | 如何使用菜单 | 在复选框菜单项上侦听项目事件。 |
MenuDemo | 如何使用滚动窗格 | 在切换按钮上侦听项目事件。 |