java - 在 Swing 中扩展 ActionListener 的 Action 接口的用途
问题描述
我目前正在通过这本书学习 Swing 。它是关于 Action 接口的:
为了简化事件处理,Swing 库用 Action 接口扩展了原来的 ActionListener 接口,以便用事件处理程序存储可视属性。这允许创建独立于可视组件的事件处理程序。然后,当稍后将 Action 与组件关联时,组件会自动从事件处理程序中直接获取信息(例如按钮标签)。这包括在修改操作时通知标签的更新。AbstractAction 和 TextAction 类是这个概念的实现。
有人可以解释一下这段文字是什么意思吗?提前致谢。
解决方案
基本上 if 意味着属性Action
可以由一个(或多个)组件共享,因此您只需要设置一次属性。
例如,您可以使用Action
来创建 aJButton
和 a JMenuItem
。那么如果你改变 的状态,Action
按钮和菜单项的状态就会同时改变。
阅读 Swing 教程中有关如何使用操作的部分以获取更多信息和工作示例。该示例专门演示了如何更改 Action 的启用状态,这两个组件都会受到影响。
推荐阅读
- vue.js - 滚动内容时,元素在列表移动过渡中被推开
- regex - 正则表达式在 Rust 中不起作用,这是怎么回事?
- docker - 为什么使用 docker 推荐的主机内存
- python - 如何使用 np.where 或列表推导创建子字符串掩码?
- reactjs - 用数组反应 useState 钩子
- python - 运行大量使用 Python 多处理修改同一列表的进程会导致 OSError:打开的文件过多
- javascript - 在Javascript中为每个嵌套的孩子添加父ID
- c# - 当新创建的窗口出现异常时,C# WPF 应用程序在退出后继续运行
- mule - 我们如何在 MULE 中的 VM 连接器中存储失败的消息
- javascript - 在 react App 中的 history.goBack() 之后获取新路径名