Java 在swing中等待用户输入

Java 在swing中等待用户输入,java,swing,user-interface,jbutton,wait,Java,Swing,User Interface,Jbutton,Wait,我有几个使用swing GUI的类和一个显示所有GUI的JFrame,所有GUI都有一个用于JButton的操作侦听器和一个用于JCheckbox的ItemListener,这会导致各种事情发生。其中一些按钮和复选框是扩展它们的其他子类 当我这么做的时候 Public class SomeClass{ SomeClass(){ // some code here methodCalled(); } public void methodCalle

我有几个使用swing GUI的类和一个显示所有GUI的JFrame,所有GUI都有一个用于JButton的操作侦听器和一个用于JCheckbox的ItemListener,这会导致各种事情发生。其中一些按钮和复选框是扩展它们的其他子类

当我这么做的时候

Public class SomeClass{        
   SomeClass(){
     // some code here
     methodCalled();
   }

 public void methodCalled(){
    //more code here
    new BazarGui();
    new MapGui();
 }
}

如何让BazarGUI等待用户单击一些按钮或复选框,而不让程序直接映射GUI?它们各自都能很好地工作,但当一个接一个地被呼叫时,只有第二个显示出来。将bazaar和map的GUI设置为JDialogs而不是JPanel,然后将其添加到JFrame中可以解决此问题吗?

*“将bazar和map的GUI设置为JDialogs而不是JPanel,然后将其添加到JFrame中可以解决此问题吗?”您不能将
JDialog
添加到
JFrame
中。但是您**可以**`将
JPanel
添加到
JDialog
并显示它。如果对话框是模态对话框,则将其设置为可见的代码语句将停止,直到其关闭。模态对话框将在对话框可见时阻止代码的执行(但允许用户与对话框交互)。一般建议使用
JPanel
或其他容器来构建基本的UI,然后将它们添加到您以后需要的顶级容器中,这样可以使它们更加灵活和可重用