为什么eclipse不会使用super()和initialize()创建默认构造,而是提供一个main方法

时间:2016-12-19 13:49:28

标签: java jframe

这可能是一个愚蠢的问题,但我一整天都在寻找答案,我无法找到它。

我正在大学学习Java课程,当我创建新的JFrame时(仅通过输入名称和klik创建创建),代码与课程中的代码看起来不一样。我得到一个主方法,在课程中他们得到一个默认的构造函数。

我得到:

   /**
   * Launch the application.
   */
  public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
      public void run() {
        try {
          jkksl frame = new jkksl();
          frame.setVisible(true);
        }
        catch (Exception e) {
          e.printStackTrace();
        }
      }
    });
  }

  /**
   * Create the frame.
   */
  public jkksl() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(new BorderLayout(0, 0));
    setContentPane(contentPane);
  }

它会自动创建一个public static void main(),但当他们在课程中做同样的事情时(只创建一个新的JFrame),他们得到的基本代码是:

  private static final long serialVersionUID = 1L;
  private JPanel jContentPane = null;

  /**
   * This is the default constructor
   */
  public variabelveld2() {
    super();
    initialize();
  }

  /**
   * This method initializes this
   * 
   * @return void
   */
  private void initialize() {
    this.setSize(300, 200);
    this.setContentPane(getJContentPane());
    this.setTitle("JFrame");
  }

  /**
   * This method initializes jContentPane
   * 
   * @return javax.swing.JPanel
   */
  private JPanel getJContentPane() {
    if (jContentPane == null) {
      jContentPane = new JPanel();
      jContentPane.setLayout(new BorderLayout());
    }
    return jContentPane;
  }

当只创建一个JFrame,因此不输入任何代码时,代码没有main,并且获得了super()initialize()的默认构造函数。

我似乎无法找到他们获取默认构造函数的原因,我得到了一个主方法以及如何更改设置,因此我还获得了super()initialize()的默认构造函数

有人可以帮忙吗?

0 个答案:

没有答案