逐个按下按钮

时间:2017-03-21 18:59:48

标签: java swing netbeans

您好我是java语言的新手,我在NetBeans IDE 8.2中创建了一个JFrame。 JFrame包含8个从swing调色板中直接创建的按钮。案例是我在点击例如5个按钮后尝试打开另一个JFrame表单。 我知道,为了出现另一个JFrame表单,它使用了setVisible(true)方法,在最后一个btnActionPerformed中; 我要问的是如何点击5个按钮然后出现另一个Jframe表单?如果有人知道我在问什么请帮我找到解决方案?

1 个答案:

答案 0 :(得分:1)

你可以有一个计数器变量,每当你点击一个按钮时它会增加1的值,当该值为5时,你会在第二个setVisible上调用JFrame

但我建议您阅读The use of multiple JFrames, Good / Bad practice?。普遍的共识认为这是一种不好的做法。

由于您提供的不是代码,我只能通过以下图片和ActionListener代码向您展示,但您必须自行实施此解决方案:

enter image description here

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);
                    }
                }
            }
        }
    }
};