0

这是我在 Eclipse 上使用的代码,我不明白我哪里出错了。我是Java初学者,所以我对这个主题不太熟悉。任何帮助将非常感激。当我尝试通过运行程序查看我已经走了多远时,错误总是会出现,请缓解计算机术语,我是这个大声笑的新手。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.LineBorder;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.BorderLayout;

public class CBombRombot extends JFrame implements ActionListener, ChangeListener {

    private JPanel panel;
    private JPanel bottompanel;
    private JPanel rightpanel;

    private static void main(String[] args) {
        CBombRombot frame = new CBombRombot();
        frame.setTitle("CBombRobot Application");
        frame.setSize(875, 550);
        frame.show();
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
    }

    private void createGUI() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        Container window = getContentPane();
        window.setLayout(new BorderLayout());

        panel = new JPanel();
        panel.setPreferredSize(new Dimension(650, 450));
        panel.setBackground(Color.white);
        window.add(panel);

        rightpanel = new JPanel();
        rightpanel.setPreferredSize(new Dimension(200, 180));
        rightpanel.setBackground(Color.lightGray);
        window.add(rightpanel, BorderLayout.EAST);

        bottompanel = new JPanel();
        bottompanel.setPreferredSize(new Dimension(400, 50));
        bottompanel.setBackground(Color.lightGray);
        window.add(bottompanel, BorderLayout.SOUTH);
    }

    @Override
    public void stateChanged(ChangeEvent arg0) {
        // TODO Auto-generated method stub
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
    }

}
4

2 回答 2

5

好吧,您的主要方法需要公开:

public static void main(String[] args)

看看那里的一些教程,例如

在 Java 语言中,当您使用 Java 解释器执行一个类时,运行时系统首先调用该类的 main() 方法。然后 main() 方法调用运行应用程序所需的所有其他方法。

或者Oracle官方教程:

在 Java 编程语言中,每个应用程序都必须包含一个 main 方法,其签名是:public static void main(String[] args)

于 2013-04-06T15:09:26.383 回答
1

您需要将 main 方法声明为 public static void。这是原因:

  • 公共 - JVM调用main方法来运行项目范围之外的方法,因此访问说明符必须是公共的,以允许从应用程序之外的任何地方调用
  • static - 当 JVM 调用 main 方法时,被调用的类不存在对象,因此它必须具有静态方法才能允许从类调用。
  • void - Java 是独立于平台的语言,因此如果它会返回某个值,那么该值可能对不同的平台意味着不同,因此与 C 不同,它不能假定将值返回给操作系统的行为。

参考:为什么java中的main()是public static void main

于 2013-04-06T15:15:25.070 回答