的Eclipse
错误:在类projectOne中找不到main方法,请将main方法定义为:public static void main(String [] args)
您好,我的程序需要帮助。问题是,它总是说请将主要方法定义为public static void main(String[] args)
。我怎么做?我的包,项目和课程都没问题。
以下是代码:
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.*;
public class projectOne extends JPanel
{
private static final long serialVersionUID = 1L;
GameEvents gameEvents = new GameEvents();
Timer gameTimer = new Timer(1, gameEvents);
int i = 0;
int horizontalposition = 500;
int verticalposition = 500;
BufferedImage Picture;
//Don't forget to declare your variables!
projectOne()
{
gameTimer.start();
this.addKeyListener(gameEvents);
try
{
Picture = ImageIO.read(getClass().getResource("Homestuck.gif"));
//The format for this is Picture = ImageIO.read(getClass().getResource("NameOfFile.typeoffile"));
}
catch (IOException e)
{
System.out.println("Pictures failed to load");
}
}
@Override
protected void paintComponent(Graphics g)
{
g.setColor(Color.blue);
g.fillRect(0,0,this.getWidth(), this.getHeight());
g.setColor(Color.red);
///g.drawImage(Picture, horizontalposition, verticalposition, 100, 150, null);
g.drawImage(Picture, 50, 100, 500, 600, null);
//Here's the format you must follow when drawing simple Java Graphics objects
//g.fillOval(horizontal location, vertical location, width, height)
}
public class GameEvents implements ActionListener, KeyListener
{
@Override
public void actionPerformed(ActionEvent arg0)
{
repaint();
}
@Override
public void keyPressed(KeyEvent key) //stuff inside here happens when a key is pressed
{
if(key.getKeyChar()=='d')
{
horizontalposition=horizontalposition+20;
}
if(key.getKeyChar()=='s')
{
verticalposition=verticalposition+20;
}
if(key.getKeyChar()=='w')
{
verticalposition=verticalposition-20;
}
if(key.getKeyChar()=='a')
{
horizontalposition=horizontalposition-20;
}
if(horizontalposition<0)
{
horizontalposition=0;
}
// System.out.println(key.getKeyChar());
// System.out.println('d');
}
@Override
public void keyReleased(KeyEvent arg0) {
}
@Override
public void keyTyped(KeyEvent arg0) {
}
}
public static void main(String args)
{
JFrame f = new JFrame("Java Graphics Example Project");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
projectOne p = new projectOne();
f.setSize(1500,700);
f.add(p);
f.setVisible(true);
p.requestFocusInWindow();
}
}
答案 0 :(得分:0)
更改您的
public static void main(String args)
到
public static void main(String[] args)
答案 1 :(得分:0)
main方法应该有字符串数组参数。像这样纠正它。
public static void main(String[] args) {
}
答案 2 :(得分:0)
您main
方法的签名是错误的,您可以将其更改为
public static void main(String args[])
或
public static void main(String... args)
或
public static void main(String [] args)