两个类之间的同步

时间:2013-09-10 22:09:46

标签: java swing

我创建了一个GUI窗口,正在另一个类的main方法中调用。窗口有一个运行按钮。只有在单击运行按钮后,控件才会返回主方法。我如何获得此功能?我应该使用线程吗?

1 个答案:

答案 0 :(得分:5)

您所描述的是模态对话框(如JOptionPane)的经典行为:在显示模式对话框时,来自调用代码的程序流暂停,然后在模态对话框不再可见时在调用点返回。

我建议您考虑使用JOptionPane,因为这通常是获得此行为的最简单方法。请理解JOptionPanes可以显示复杂的GUI,因为它的showXXX(...)方法的第二个参数是Object类型,并且可以是带有其他JPanel,组件和好东西的JPanel。

例如,请查看此问题答案中的代码:How can I make a JFrame modal like a JOptionPane?


修改
您在评论中说明:

  

我可以从JFrame创建一个JOptionPane吗?我制作了一个带有三个文件选择器和3个文本字段以及一个运行按钮的JFrame。我可以从这个JFrame direclty创建一个JOptionPane吗?

@Alvin:现在你正在学习为什么你不应该把你的代码放在创建JFrame上 - 你最终会把自己画在角落里。我建议你重新做一点代码,然后创建一个JPanel。然后你可以将它放入JOptionPane,JDialog或JFrame或任何需要的地方。