我正在开发一个包含大量按钮和菜单的应用程序,我想在可以或不可以执行附加到它们的操作时启用和禁用按钮和菜单项。即保存按钮和保存菜单项只有在有未保存的更改时才会激活。
问题:我怎样才能有效地做到这一点/这样做的正确方法是什么?
一个解决方案可以为每个按钮和菜单条目设置一个私有(private)变量,并根据需要启用/禁用它。 其他解决方案可以获取数组中 JToolBar 和 JMenu 的所有组件并遍历所有组件并根据需要启用/禁用。 但我认为有更好的解决方案。我们将不胜感激任何帮助或指南。
编辑:问题不是如何启用/禁用单个按钮或菜单项,我将知道如何管理应用程序的所有按钮和菜单项的状态。实现此目标的最佳方法是什么?我已经解释了一些我一直在思考的解决方案,但没有一个能说服我。
最佳答案
Action
类已经支持这一点。查看Action#isEnabled
和 Action#setEnabled
方法。调用 setter 将触发一个事件,在此事件上设置了此 Action
的 UI 将启用/禁用自身。
Action
可以看作是您的 UI 按钮/菜单项/...的模型。所有状态都在模型中存储和更新, View 需要反射(reflect)这一点(MVC 模式)。
关于java - 如何在一个应用程序中管理 GUI 组件的启用/禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14712566/