更多的是一个组件相互“链接”

时间:2014-01-02 19:00:57

标签: java swing

通常情况下,有2个挥杆组件执行相同的工作。例如,我们可以在工具栏中使用button作为“保存”按钮,并使用JMenuItem(文件保存...)执行相同操作。

我的问题是:
有没有办法让一个组件“链接”到另一个组件,所以我们不必重复代码?

当然我们可以简单地创建一个单独的方法并从两个组件中调用它,但我现在正在学习java,我想问是否有可能以另一种方式进行。

2 个答案:

答案 0 :(得分:3)

如果您的目标只是在单击按钮/项时调用相同的代码,那么您只需定义一个ActionListener实例,并将其添加到按钮和菜单项。

另外,如果您想要,例如,根据相同的条件禁用按钮和项目,或者将相同的标签或图标关联到两个组件,则定义单个Action,并使用此操作构造按钮和项目。然后与Action交互,按钮和项状态将反映更改。

答案 1 :(得分:0)

只需在单独的方法中编写您的逻辑(例如,用于保存),并从不同的UI元素中调用该方法。