您好我是java语言的新手,我在NetBeans IDE 8.2中创建了一个JFrame。 JFrame包含8个从swing调色板中直接创建的按钮。案例是我在点击例如5个按钮后尝试打开另一个JFrame表单。 我知道,为了出现另一个JFrame表单,它使用了setVisible(true)方法,在最后一个btnActionPerformed中; 我要问的是如何点击5个按钮然后出现另一个Jframe表单?如果有人知道我在问什么请帮我找到解决方案?
答案 0 :(得分:1)
你可以有一个计数器变量,每当你点击一个按钮时它会增加1的值,当该值为5时,你会在第二个setVisible
上调用JFrame
。
但我建议您阅读The use of multiple JFrames, Good / Bad practice?。普遍的共识认为这是一种不好的做法。
由于您提供的不是代码,我只能通过以下图片和ActionListener
代码向您展示,但您必须自行实施此解决方案:
ActionListener listener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
if (e.getSource().equals(buttons[i][j])) {
clics++;
sequenceLabel.setText("Number of Clics: " + clics);
if (clics == 5) {
clics = 0;
frame2.pack();
frame2.setLocationRelativeTo(frame1);
frame2.setVisible(true);
}
}
}
}
}
};