我正在尝试通过扩展 JDialog 类来创建自己的对话框,这是我用来启动的代码:
import javax.swing.JDialog;
public class ColorManager extends JDialog {
private static final long serialVersionUID = 1L;
public ColorManager(){
super();
this.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
this.pack();
this.setVisible(true);
}
}
当我尝试运行代码时,它工作正常,但出现以下异常:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: defaultCloseOperation must be one of: DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE, or DISPOSE_ON_CLOSE
我读到有问题WINDOWS_EXIT
或类似的东西,但我传递的参数应该可以完成这项工作。更奇怪的是,当我更改我的类以使其包含一个JDialog
字段而不是扩展它时,它似乎工作得很好。我让一个朋友在他的电脑上测试,代码没有抛出异常,他使用的是 jre 版本 1.6.022,我使用的是 1.6.022,我们都使用 64 位。
所以我做错了什么?或者这是JRE中的一个错误?
编辑:忘了提,我正在使用 eclipse
Edit2:我在 Netbeans 中尝试了相同的代码,它工作正常,我的问题可能是什么?