我有一个JDialog
名为Preferences
. 此类创建一个构造函数,例如:
class Preferences extends javax.swing.JDialog {
Preferences(java.awt.Frame parent,modal) {
super(parent,modal);
//......
}
}
在我的程序中,我希望在单击JFrame
表单中的按钮时打开此首选项对话框。在按钮上注册动作侦听器后,我将代码编写为:
Frame fr = new Frame();
Preferences p = new Preferences(fr,false);
fr.add(p);
fr.setVisible(true);
当我运行此代码时,我得到以下异常(当我单击按钮时):
Exception in thread "AWT-EventQueue-0"
java.lang.IllegalArgumentException: adding a window to a container
这是什么意思,我该如何解决?