首页 > 解决方案 > 在 Swing 中扩展 ActionListener 的 Action 接口的用途

问题描述

我目前正在通过这本书学习 Swing 。它是关于 Action 接口的:

为了简化事件处理,Swing 库用 Action 接口扩展了原来的 ActionListener 接口,以便用事件处理程序存储可视属性。这允许创建独立于可视组件的事件处理程序。然后,当稍后将 Action 与组件关联时,组件会自动从事件处理程序中直接获取信息(例如按钮标签)。这包括在修改操作时通知标签的更新。AbstractAction 和 TextAction 类是这个概念的实现。

有人可以解释一下这段文字是什么意思吗?提前致谢。

标签: javaswing

解决方案


基本上 if 意味着属性Action可以由一个(或多个)组件共享,因此您只需要设置一次属性。

例如,您可以使用Action来创建 aJButton和 a JMenuItem。那么如果你改变 的状态,Action按钮和菜单项的状态就会同时改变。

阅读 Swing 教程中有关如何使用操作的部分以获取更多信息和工作示例。该示例专门演示了如何更改 Action 的启用状态,这两个组件都会受到影响。


推荐阅读