这是我在Eclipse上使用的代码,我不知道我在哪里出错了。我是Java初学者,所以我对这个主题不太熟悉。任何帮助都将非常感激。当我试着看看我通过运行程序走了多远时,错误总是出错,请放松计算机术语,我是新手lol。
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
}
}
你的main方法需要是public的:
public static void main(String[] args)
看看一些教程,例如:
在Java语言中,当您使用Java解释器执行一个类时,运行时系统首先调用类的main()方法。然后,main()方法调用运行应用程序所需的所有其他方法。
或Oracle官方教程:
在Java编程语言中,每个应用程序必须包含一个签名为:
的主方法。public static void main(String[] args)
您需要将main方法声明为公共静态void。原因如下:
- Public - main方法被JVM调用来运行该方法因此,在项目范围之外,访问说明符必须是public允许从应用程序外的任何地方调用
- static -当JVM调用main方法时,没有对象存在于被调用的类中,因此它必须具有
- void - Java是平台无关的语言,因此如果它会的话返回一些值,那么该值可能意味着不同平台如此不同于C,它不能假定返回值的行为