Eclipse - 错误:在类projectOne中找不到主要方法,请将main方法定义为:public static void main(String [] args)

时间:2015-03-18 04:59:12

标签: java eclipse main

的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();

    }
}

3 个答案:

答案 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)