java - gui 和 main() 方法

标签 java swing user-interface program-entry-point

我目前正在用 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 时,它仍然损坏,我需要采取哪些步骤才能使其工作?

最佳答案

您当前的类没有任何可以执行的内容。为了创建 Game 类的新实例,您需要一个额外的类。尝试将游戏类视为必须“使用”(由另一个类)的蓝图。

在您的新类中,您必须调用 Game 类的构造函数才能使用它。新类的示例:

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 :)
    }
}

关于java - gui 和 main() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36455927/

相关文章:

java - quartz 表每小时一次

java - 在 Swing 中绘制美丽的语音气泡

qt - 如何在qt中创建正确的退出按钮

java:如何在GUI中延迟代码

java - 如何使用 Http 持久连接在循环中保持 Java 套接字低延迟?

Java DecimalFormatter - Locale DE 和 Locale US 之间的不同行为

java - tomcat 启动时出现 OverlappingFileLockException

java - 调整窗口大小或使用滚动条后绘画组件消失

java - 一旦鼠标进入嵌入的 JCheckboxMenuItem,JPopupMenu 就会关闭

android - 如何在 Android 中分离相机和 GUI?