使用正确的 if 子句向我的 JButtons 添加一个动作

Adding an action to my JButtons with the right if-clause

try {
      for (int i = 0; i < 148; i++) {
        zx = zx+1;
        if (zx==15) {
          zx = 0;
          zy = zy+1;
          gbc.gridheight = zy;
        } // end of if
        gbc.gridwidth = zx;
        JButton b = new JButton(champs[i]);
        cp.add(b, gbc);
        b.setName(champs[i]);
        if (b.getModel().isPressed()) {
          System.out.println(b);
        } // end of if
      }          
    } catch(Exception e) {
      System.out.println(e);
    }

我正在尝试将 action/response 添加到我的 148 个 JButton(如果它们被按下),但似乎我使用了错误的 if 子句。布局工作得很好,所有按钮都以正确的名称显示在正确的位置,但我无法向它们添加操作。我仍然是 java 初学者,所以请记住这一点。任何帮助表示赞赏。提前致谢。

您需要动作侦听器。

创建并初始化 JButton 后,您需要向其添加事件侦听器。如果您使用的是 GUI 生成器,则可以进入设计模式并右键单击按钮并转到 Action/Action 已执行,它将为您创建方法,您可以在那里输入代码。

如果您正在编写 swing 应用程序代码,您可以初始化按钮,然后手动向其添加事件侦听器。例如:

    private JButton button = new JButton("Button");
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            //insert code here
        }
    });