java - 循环中的窗口。如何防止同时打开所有窗口?

标签 java swing jframe

我正在为德州扑克编写一个投注系统,但我在一次打开所有窗口时遇到问题。

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 来实现这一点。 (抱歉我的英语不好)

谢谢。

最佳答案

您可以使用 WindowListener 在关闭事件上打开一个新窗口或WindowAdapter .

代码可能是这样的:

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

jFrame.addWindowListener(adapter);

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

关于java - 循环中的窗口。如何防止同时打开所有窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45443844/

相关文章:

java - 使用 Android 应用程序字符串的第一个字符过滤数组列表

java - 我的应用程序如何在非 root 设备上访问管理员级别的权限?

java - 从 JFrame 返回一个值到 main()

java - JPanel 中的 BufferedStrategy?

java - Swing 中的复合模式

java - 引用 JPanel Action 监听器内部的类

java - 已处理的 JFrame 仍从 Window.getWindows() 返回

java - 是否可以在createNativeQuery中执行 "create role"?

java - 文件同步器架构

java - 我在 ActionListener 中缺少什么?