使用正确的if子句向我的JButton添加动作

问题描述 投票:0回答:1
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);
    }

我正在尝试对148个JButton进行操作/响应,如果它们被按下,但似乎我使用了错误的if子句。布局完全正常,所有按钮均以正确的名称显示在正确的位置,但是我无法向其添加操作。我仍然是Java初学者,因此请记住这一点。任何帮助表示赞赏。预先感谢。

java arrays swing jbutton action
1个回答
0
投票

您需要动作监听器。

一旦创建并初始化了JButton,您需要向其添加一个事件监听器。如果使用的是GUI构建器,则可以进入设计模式并右键单击“按钮”,然后转到“执行的动作/执行的动作”,它将为您创建方法,您可以在此处输入代码。

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

    private JButton button = new JButton("Button");
    button.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            //insert code here
        }
    });
© www.soinside.com 2019 - 2024. All rights reserved.