使用正确的 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
}
});
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
}
});