如何调用使用 windowBuilder (Eclipse) 创建的 class

How to call a class that was created using windowBuilder (Eclipse)

我习惯于通过 运行ning

创建另一个 class 的实例
Config con = new Config();
con.setVisible(true);

但是,这似乎不适用于 WindowBuilder 插件在 Config 中设置 gui 的方式。当上一个命令是 运行 时,它会创建一个空的、微小的 JFrame。 Config 的主要方法仅包含以下内容:

public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
        public void run() {
            try {
                Config window = new Config();
                window.frame.setVisible(true);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}

构造函数仅调用包含内容创建的初始化方法:

public Config(){
initialize();
}
private void initialize() {
        frame = new JFrame();
        frame.setBounds(100, 100, 450, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);
        frame.setLocationRelativeTo(null);
        frame.setResizable(false);

//other configuration here
}

如何从另一个 class 调用 Config 到 运行 并且可见?

好的,找到答案了。首先,要阻止显示微小的无用框架,请不要从初始 class 开始设置 visible true。而只是 运行:

Config con = new Config();

然后,在Config的构造函数中,初始化一切之后,添加

frame.setVisible(true);

回答

创建一个新对象后class。

WindowShow ws = new WindowsShow();
ws.frame.setVisible(true);

而且会很完美