如何调用使用 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);
而且会很完美
我习惯于通过 运行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);
而且会很完美