在显示主窗口之前打开配置对话框?

时间:2011-05-30 15:44:23

标签: java swing

我写了一个Swing应用程序,它有一个主窗口。

现在我想在显示主窗口之前显示配置对话框,因为根据配置对话框的输出,可能必须以不同方式创建主窗口。

我已经在某处读过一个对话框应该总是有一个父窗口。

在这些情况下创建和显示配置对话框的正确方法是什么?我应该把它作为JDialog还是普通的JFrame?

2 个答案:

答案 0 :(得分:4)

  

我已经在某处读过一个对话框应该总是有一个父窗口。

我不知道有任何这样的限制。这是一个简单的counter-example

答案 1 :(得分:4)

使用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。