(Java)当你按下Jbutton时,无论你按下它多少次,你如何使程序只创建一个框架?

时间:2014-05-17 07:05:58

标签: for-loop jframe actionlistener

在按下JButton后,如何阻止程序生成JFrame?我试图让它在第一次按下按钮后停止生成新的JFrame但遗憾的是,这种情况并没有发生。任何帮助将不胜感激。谢谢。

list.addActionListener(new ActionListener() {
    public void actionPerformed (ActionEvent e) {
        for (int counter=0; counter<1; counter++){
                    if (counter<1){
                        Newbox fresh = new Newbox();
                            }
                                if (counter >1) {
                                break;
                    }
                }
            }
        });

3 个答案:

答案 0 :(得分:1)

您可以使用布尔变量来阻止它创建新帧。

之类的东西
boolean pressed = false;
list.addActionListener(new ActionListener() {
public void actionPerformed (ActionEvent e) {
    for (int counter=0; counter<1; counter++){
                if (counter<1 && pressed == false){
                    Newbox fresh = new Newbox();
                    pressed = true;
                        }
                            if (counter >1) {
                            break;
                }
            }
        }
    });

答案 1 :(得分:0)

Trx添加布尔值。

Boolean pressed = false;

list.addActionListener(new ActionListener() {
    public void actionPerformed (ActionEvent e)   {
        if (!pressed){
            Newbox fresh = new Newbox();
            pressed = true;
        }
    }
});

答案 2 :(得分:0)

我尝试使用布尔值,但这种方法最终效果更好,所以为了记录,这是解决这个问题的一种方法。谢谢大家的反馈。

           list.addActionListener(new ActionListener() {
                    public void actionPerformed (ActionEvent e) {
                        Newbox fresh = new Newbox();
                            ((AbstractButton)e.getSource()).setEnabled(false);

                    } 
                });