繁体   English   中英

如何从主方法调用构造函数

[英]how to call constructor from main method

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窗口。 还是我应该使用一个完全不同的类来做到这一点?

简单地...

public static void main(String[] args) {
     MainClass mainClass = new MainClass();
}

这个...

使用Swing组件有一个非常重要的规则: 必须在事件分发线程 (EDT)中进行所有更改 包括创建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接口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM