问题描述
|
我已经编写了一个具有主窗口的Swing应用程序。
现在,我想在显示主窗口之前显示一个配置对话框,因为根据配置对话框的输出,可能必须以其他方式创建主窗口。
我读过某个地方,对话框应该始终具有一个父窗口。
在这种情况下,创建和显示配置对话框的正确方法是什么?我应该将其设置为jdialog还是常规的JFrame?
解决方法
使用null引用父窗口。没有父母的情况下,这是一个好的做法。
那你就可以做这样的事情了
String body = \"Which will you choose?\";
String title = \"The Title\";
int choice = JOptionPane.showConfirmDialog(null,body,title,JOptionPane.YES_NO_OPTION);
switch(choice) {
case JOptionPane.YES_OPTION:
createAndDoWindowForYesOption(); break;
case JOptionPane.NO_OPTION:
createAndDoWindowForNoOption(); break;
default:
doNothing(); break;
}
编辑:我仅使用JOptionPane作为示例,如@Mre所指出的,如果需要更多功能,则可以扩展到JDialog。
,
我读过某个地方,对话框应该始终具有一个父窗口。
我不知道有任何此类限制。这是一个简单的反例。