gui和main()方法

时间:2016-04-06 15:40:55

标签: java swing user-interface main

我目前正在Java中创建mancala-game。这就是我到目前为止所做的:

package mancala;

import javax.swing.*;

public class Game  {

    private JLabel start;
    private JButton startBtn;
    private JPanel panel;
    private JFrame frame;

    public Game(){
        createForm();
        addButtons();

        frame.add(panel);
        frame.setVisible(true);
    }

    public void createForm() {
        frame = new JFrame();
        frame.setTitle("Mancala");
        frame.setSize(500,500);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public void addButtons() {
        startBtn = new JButton("Start");
    }
}

这会引发以下错误:

Error: Main method not found in class mancala.Game, please define the main method as:
   public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application

但是当我添加main-method它仍然被打破时,我需要采取哪些步骤才能使其工作?

3 个答案:

答案 0 :(得分:2)

您当前的课程无法执行。为了创建类Game的新实例,您需要一个额外的类。尝试将Game-Class视为蓝图,必须“使用”(由另一个类)。

在你的新课程中,你必须调用Game-class的构造函数才能使用它。新类的一个例子:

package mancala;

public class RunGame {

    public static void main(String[] args) {
        Game game = new Game();
        // Now you can do funky stuff with your generated Instance :)
    }
}

答案 1 :(得分:0)

在java中,你需要一个包含要运行的main方法的类。主要方法是首先运行,并且可以从中调用其他方法。你的类Game有构造函数方法Game()。要从main方法调用此方法,您应该在main方法中添加以下内容:

new Game();

答案 2 :(得分:0)

嵌入JavaFX代码的Swing应用程序需要main()方法。

https://docs.oracle.com/javafx/2/get_started/hello_world.html

此链接可能有助于您解释此问题。