有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JDialog不会显示在“设计”选项卡中

我正在使用Eclipse的WindowBuilder插件

当我执行下面的代码时,它正确地显示了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);
            }
        });
    }
}

知道为什么吗


共 (1) 个答案

  1. # 1 楼答案

    尝试删除指定WindowBuilder入口点的主方法上方的注释

    当窗口/对话框不是作为自己的类而是在另一个类的方法中创建时,通常使用此注释。考虑一个方法showCustomDialog(),它创建并显示对话框,但是这个类在其他方法中做了很多其他的事情。然后,可以告诉WindowBuilder应该从哪里开始解析代码,以检测应该显示哪个窗口/对话框进行编辑

    最可能的情况是,WindowBuilder无法正确解析您的主方法,并且无法识别您试图创建的窗口/对话框,因此只显示一个空框架。删除入口点注释将使WindowBuilder能够解析类的构造函数,这应该会更好