Java 在swing中等待用户输入
我有几个使用swing GUI的类和一个显示所有GUI的JFrame,所有GUI都有一个用于JButton的操作侦听器和一个用于JCheckbox的ItemListener,这会导致各种事情发生。其中一些按钮和复选框是扩展它们的其他子类 当我这么做的时候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
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,然后将它们添加到您以后需要的顶级容器中,这样可以使它们更加灵活和可重用