我正在使用 Eclipse 的 Window Builder 插件。
当我执行以下代码时,它正确显示JDialog
。我原本希望 JDialog
也能显示在设计选项卡中(在设计时),但它不会。
package testshowjdialog;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class MyJDialog extends JDialog {
private static final long serialVersionUID = 1L;
public MyJDialog(JFrame parent) {
super(parent, true);
setTitle("A Title");
JButton button = new JButton("Test");
add(button);
setSize(100, 100);
}
/**
* @wbp.parser.entryPoint
*/
public static void main(String [] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
MyJDialog dialog = new MyJDialog(new JFrame());
dialog.setVisible(true);
}
});
}
}
知道为什么吗?
最佳答案
尝试删除主方法上方指定 WindowBuilder 入口点的注释。
当窗口/对话框不是作为其自己的类创建,而是在另一个类的方法中创建时,通常使用此注释。考虑一个创建并显示对话框的方法 showCustomDialog()
,但该类在其他方法中执行许多其他操作。然后,我们可以告诉 WindowBuilder 应从哪里开始解析代码以检测应显示哪个窗口/对话框进行编辑。
很可能,WindowBuilder 无法正确解析您的主方法,并且无法识别您尝试创建的窗口/对话框,因此仅显示一个空框架。删除入口点注释将使 WindowBuilder 解析您的类的构造函数,这应该会更好。
关于java - JDialog 不会显示在设计选项卡中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56907669/