我的问题与Java编程,GUI概念有关 . 我想知道我是否在actionListener中注册了多个组件,如JButtons,JRadioButtons,JComboBox和JCheckBox,这意味着我希望这些组件执行一个动作 .
现在,在我的actionPerformed方法中,如何链接所有这些组件以执行操作 . 例如,如果我检查一个JRadioButton,一个JCheckBox和一个JButton,我想在aJLabel中显示一些东西,就像一个总数 .
如何在actionPeformed方法中实现所有这些组件?
感谢你..问候,
2 回答
首选方法是为每个组件创建一个
Action
或ActionListener
,它将为该组件执行所需的作业 .这提供了职责的隔离和分离,如果你做得对,重新使用的可能性(
Action
可以应用于JMenuItem
,JButton
JToolbar
并带有密钥绑定)它还可以更容易地替换功能(替换单个
Action
或ActionListener
作为重写"mega"ActionListener
)要引用组件,请创建实例变量 .
要实现
actionPerformed
方法,请创建一个实现ActionListener
的类;这可以是匿名类或命名类 .在这个例子中,我们创建了两个ActionListener作为匿名内部类 .
Scratch.java
在此部分示例中,
Scratch
类本身是ActionListener
:如上一个示例所示,我们可以使用ActionEvent.getSource()方法来发现触发事件的组件 .