文档

Java™ 教程
隐藏目录
Swing组件支持的监听器
路径:使用Swing创建GUI
课程:编写事件监听器

Swing组件支持的监听器

通过查看可以在组件上注册的事件监听器的类型,您可以了解组件可以触发哪些类型的事件。例如,JComboBox类定义了以下监听器注册方法:

因此,除了从JComponent继承的监听器方法之外,组合框还支持动作、项目和上下文菜单监听器。

Swing组件支持的监听器分为两类:

所有Swing组件都支持的监听器

因为所有Swing组件都是从AWT的Component类继承而来的,您可以在任何Swing组件上注册以下监听器:

组件监听器
监听组件的大小、位置或可见性的变化。
焦点监听器
监听组件是否获得或失去了键盘焦点。
键盘监听器
监听键盘按键;键盘事件仅由当前具有键盘焦点的组件触发。
鼠标监听器
监听鼠标点击、鼠标按下、鼠标释放和鼠标移动进入或离开组件的绘图区域。
鼠标移动监听器
监听鼠标光标在组件上的位置变化。
鼠标滚轮监听器
监听鼠标滚轮在组件上的滚动。
层次结构监听器
监听组件的容器层次结构变化事件。
层次结构边界监听器
监听组件的容器层次结构中的移动和调整大小事件。

所有Swing组件都是从AWT的Container类继承而来,但其中许多组件并不用作容器。因此,严格地说,任何Swing组件都可以触发容器事件,该事件通知监听器组件已被添加到容器或从容器中移除。然而,从实际情况来看,只有容器(如面板和框架)和复合组件(如组合框)通常会触发容器事件。

JComponent提供了对三种更多的监听器类型的支持。您可以注册一个祖先监听器,以便在组件的容器祖先被添加到或从容器中移除,隐藏,显示或移动时得到通知。这种监听器类型是一个实现细节,它先于层次结构监听器出现。

另外两种监听器类型是Swing组件遵循JavaBeans规范的一部分。这意味着Swing组件支持绑定和约束属性,并通知监听器属性的更改。属性更改监听器监听绑定属性的更改,被几个Swing组件使用,例如格式化文本字段,用于跟踪组件的绑定属性的更改。此外,属性更改监听器以及可否决更改监听器还被构建工具用于监听约束属性的更改。有关更多信息,请参考属性课程以及JavaBeans教程中的内容。

Swing组件支持的其他监听器

下表列出了Swing组件以及它们支持的专门监听器,不包括所有ComponentContainerJComponent都支持的监听器。在许多情况下,事件直接从组件中触发。在其他情况下,事件从组件的数据或选择模型中触发。要了解您感兴趣的特定组件和监听器的详细信息,首先转到组件的操作指南部分,然后如果需要,再转到监听器的操作指南部分。

动作监听器插入符监听器变化监听器文档监听器
可撤销编辑监听器项监听器列表选择监听器窗口监听器按钮
checked
checked
checked
复选框
checked
checked
checked
颜色选择器
checked
组合框
checked
checked
对话框
checked
编辑器面板
checked
checked
超链接文件选择器
checked
格式化文本字段
已选中
已选中
已选中
窗口
已选中
内部窗口内部窗口列表
已选中
列表数据菜单菜单菜单项
已选中
已选中
已选中
菜单键
菜单拖动鼠标选项面板密码字段
已选中
已选中
已选中
弹出菜单弹出菜单进度条
checked
单选按钮
checked
checked
checked
滑块
checked
微调器
checked
选项卡窗格
checked
表格
checked
表格模型
表格列模型
单元格编辑器文本区域
checked
checked
文本字段
checked
checked
checked
文本面板
checked
checked
超链接切换按钮
checked
checked
checked
树形结构树形展开
树形将要展开
树形模型
树形选择
滚动窗格
已选中

上一页:关于编写事件监听器的一般信息
下一页:实现常见事件的监听器