【问题标题】:How do I have multiple actions performed with an ActionListener in java?如何在 java 中使用 ActionListener 执行多个操作?
【发布时间】:2012-04-19 15:24:24
【问题描述】:
我现在正在编写一个涉及两个 JButton 的程序。包含这些 JButton 的类实现了 ActionListener,因此包含方法 ActionPerformed(ActionEvent e)。有没有办法让这些 JButton 都在同一个 ActionPerformed 方法中执行独特的操作?
【问题讨论】:
标签:
java
event-handling
awt
actionlistener
【解决方案1】:
当然。比较ActionEvent 对象的source 以查看事件来自哪个按钮(即调用getSource()),然后采取相应措施。
【解决方案2】:
您始终可以使用e.getSource() 获取您的actionEvent 的来源。然后只需将该源与您的按钮进行比较,如果它们相等则执行特定操作。
【解决方案3】:
当然,您可以通过以下方式区分它们:
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
if (src == bt1) {
// do actions for bt1;
}
else if (src == b2) {
// do action for bt2;
}
}