import javax.swing.JFrame;
public class MainClass {
public static void main(String[] args) {
System.out.println("Starting");
}
MainClass() {
JFrame w = new JFrame();
w.setVisible(true);
w.setSize(640, 480);
}
}
如何从Main方法调用构造函数以输出JFrame窗口。 或者我应该使用完整的不同类来执行此操作?
答案 0 :(得分:1)
简单......
public static void main(String[] args) {
MainClass mainClass = new MainClass();
}
此...
答案 1 :(得分:1)
使用Swing组件有一个非常重要的规则:必须在事件派发线程(EDT)中进行所有更改。这个includes creating the UI组件。
所以你应该这样做:
final class Main {
public static void main(String... argv) {
SwingUtilities.invokeLater(Main::setup);
}
private static void setup() {
Main m = new Main();
/* Do whatever... */
}
}
这会使用invokeLater()
方法,该方法需要Runnable
。如果需要将参数传递到设置中,可以使用lambda,或者使用可以配置的对象实现Runnable
接口,而不是方法引用。