java – 异常:向容器添加窗口.怎么解决?
发布时间:2020-12-15 02:02:56 所属栏目:Java 来源:网络整理
导读:我有一个名为Preferences的JDialog类.这个类创建一个构造函数,如: class Preferences extends javax.swing.JDialog { Preferences(java.awt.Frame parent,modal) { super(parent,modal); //...... }} 在我的程序中,我希望在单击JFrame表单中的按钮时打开此
我有一个名为Preferences的JDialog类.这个类创建一个构造函数,如:
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 这是什么意思,我该如何解决? 解决方法
一个顶级容器(对话框)无法添加到另一个(框架).
只需在“首选项”对话框中调用setVisible(true),而不是添加它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |