Java 循环中的窗口。如何防止一次打开所有窗口?

Java 循环中的窗口。如何防止一次打开所有窗口?,java,swing,jframe,Java,Swing,Jframe,我正在给texas holdem编写一个下注系统的代码,我无法同时打开所有窗口 while (rozdania > 0){ for(Player p : pp){ if(p.inGame()){ pula+=p.bidWindow(); } } rozdania--; } public int bidWindow(){ new WindowB

我正在给texas holdem编写一个下注系统的代码,我无法同时打开所有窗口

while (rozdania > 0){

        for(Player p : pp){
            if(p.inGame()){
                pula+=p.bidWindow();
            }
        }

        rozdania--;
    }

public int bidWindow(){
    new WindowBid(this);


    return 1;

}

public WindowBid(Player p){
   setDefaultCloseOperation(EXIT_ON_CLOSE); 
   setSize(400,175);
   setVisible(true);

}
我想在上一个窗口关闭后立即打开窗口。但是我不知道怎么做

我用的是JFrame。 (对不起,我的英语不好)


谢谢。

您可以使用或打开关闭事件的新窗口

代码可能是这样的:

WindowAdapter adapter = new WindowAdapter(){
    void windowClosed(WindowEvent e){
        //open next window.
    }
}

jFrame.addWindowListener(adapter);

然后,我建议将要打开的窗口的参数放在某种队列中,在每个
windowClosed
事件上,您将从队列中弹出下一个窗口参数并对其进行初始化。

您可以使用或在close事件上打开一个新窗口

代码可能是这样的:

WindowAdapter adapter = new WindowAdapter(){
    void windowClosed(WindowEvent e){
        //open next window.
    }
}

jFrame.addWindowListener(adapter);

然后,我建议将要打开的窗口的参数放在某种队列中,并在每个
windowClosed
事件上,您将从队列中弹出下一个窗口参数并对其进行初始化。

请查看您可能希望更改和改进当前用户界面结构的原因。但最重要的是,循环结构不应用于事件驱动GUI程序中的数据接收。相反,您将对事件做出反应,可能是windows侦听器事件,或按钮按下(ActionListener)事件,并根据事件和程序的当前状态更改程序行为。请查看,以了解您可能希望更改和改进当前用户界面结构的原因。但最重要的是,循环结构不应用于事件驱动GUI程序中的数据接收。相反,您将对事件(可能是windows侦听器事件或按钮按下(ActionListener)事件)做出反应,并根据事件和程序的当前状态更改程序行为。