0

这是我在 ApplicationWindow 中的代码。我有一个 widgetSelected 发生在一个名为“Welcome”的底部,我想用我已经编程的文本打开一个新窗口。

        //Welcome was clicked
    mntmWelcome.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {

            Welcome2 newWindow = new Welcome2();
            newWindow.setVisible(true);
        }
    });

欢迎JDialog只是显示一些文本和内容,但是当我使用它时,程序崩溃了,我得到了

java.lang.IllegalArgumentException:defaultCloseOperation 必须是以下之一:DO_NOTHING_ON_CLOSE、HIDE_ON_CLOSE 或 DISPOSE_ON_CLOSE

而且我不知道在哪里设置它,我在覆盖范围内尝试过,但窗口永远不会打开。我只是想让它打开,之前的窗口应该还在后面。我该如何解决这个问题?

4

1 回答 1

0

尝试添加这个:

newWindow.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

请参阅:https ://chortle.ccsu.edu/java5/Notes/chap56/ch56_9.html 并阅读此https://docs.oracle.com/javase/7/docs/api/javax/swing/WindowConstants .html

文档对初学者非常有用。

于 2017-11-28T15:30:17.867 回答