如何编写项目监听器
原文: https://docs.oracle.com/javase/tutorial/uiswing/events/itemlistener.html
项目事件由实现 ItemSelectable
接口的组件触发。通常,ItemSelectable
组件保持一个或多个项目的开/关状态。触发项目事件的 Swing 组件包括复选框,检查菜单项,切换按钮等按钮,以及组合框 。
以下是 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);
}
}
因为ItemListener
只有一个方法,所以它没有相应的适配器类。
方法 | 目的 |
---|---|
itemStateChanged(ItemEvent) | 在收听组件的状态更改之后调用。 |
方法 | 目的 |
---|---|
Object getItem() | 返回与状态更改的项关联的特定于组件的对象。通常这是包含所选项目上的文本的String 。 |
ItemSelectable getItemSelectable() | 返回触发 item 事件的组件。您可以使用它而不是getSource 方法。 |
int getStateChange() | 返回项的新状态。 ItemEvent 类定义了两种状态:SELECTED 和DESELECTED 。 |
下表列出了一些使用项监听器的示例。
例 | 在哪里描述 | 笔记 |
---|---|---|
ComponentEventDemo |
本节和如何编写组件监听器 | 在复选框上侦听项目事件,该复选框确定标签是否可见。 |
CheckBoxDemo |
如何使用复选框 | 四个复选框共享一个项目监听器,它使用getItemSelected 来确定触发事件的复选框。 |
MenuDemo |
如何使用菜单 | 在复选框菜单项上侦听项目事件。 |
MenuDemo |
如何使用滚动窗格 | 在切换按钮上收听项目事件。 |