【问题标题】: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 方法中执行独特的操作?

【问题讨论】:

  • 是的,但通常最好为每个控件添加一个侦听器(或Action)。有关详细信息,请参阅How to Use Actions

标签: 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;
        }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-16
        • 2019-07-19
        • 2015-06-13
        • 2013-11-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多