编译Java小程序

时间:2011-12-02 20:59:14

标签: java eclipse applet

我最近开始为java4k游戏竞赛制作一个Java applet游戏,但我是applets的新手,我对它们有一些疑问。

我有一个用eclipse编写的applet,我可以使用applet viewer在eclipse中运行它但是如何编译呢?似乎没有选择编译小程序..

..什么是jar档案?

感谢。

如果您需要,也可以在这里找到我的来源:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.*;

import javax.imageio.ImageIO;
public class game extends Applet implements KeyListener{

    private static final long serialVersionUID = 1L;
    public int x = 50,y = 50;
    public boolean right, left, down, up, lt = false, rt = true;
    public Image buffer;
    BufferedImage img = null;
    BufferedImage imgl = null;
    Graphics bg;

    public void init(){
        try {
            img = ImageIO.read(new File("C:/player.png"));
        } catch (IOException e){}
        try {
            imgl = ImageIO.read(new File("C:/playerl.png"));
        } catch (IOException e){}
        addKeyListener(this);
        setSize(400,200);
        setBackground(Color.cyan);
        Timer t = new Timer();
        t.schedule(new TimerTask(){public void run(){
                if (right == true){x++;}
                if (left == true){x--;}
                if (up == true){y--;}
                if (down == true){y++;}
                repaint();
            }},10,10);
        buffer = createImage(400,200);
        bg = buffer.getGraphics();
    }
    public void paint(Graphics g){
        bg.setColor(Color.WHITE);
        //bg.clearRect(0, 0, 400, 200);
        if (rt == true){
            bg.drawImage(img,x,y, this);
        }
        if (lt == true){
            bg.drawImage(imgl,x,y, this);
        }
        g.drawImage(buffer,0,0,this);
    }
    public void keyTyped(KeyEvent e){}
    public void keyPressed(KeyEvent e){
        if (e.getKeyCode() == 37){
            left = true;
            lt = true;
            rt = false;
        }
        if (e.getKeyCode() == 39){
            right = true;
            rt = true;
            lt = false;
        }
        if (e.getKeyCode() == 38){
            up = true;
        }
        if (e.getKeyCode() == 40){
            down = true;
        }
    }
    public void keyReleased(KeyEvent e){
        if (e.getKeyCode() == 37){
            left = false;
        }
        if (e.getKeyCode() == 39){
            right = false;
        }
        if (e.getKeyCode() == 38){
            up = false;
        }
        if (e.getKeyCode() == 40){
            down = false;
        }
    }
    public void update(Graphics g){
        paint(g);
    }
}

3 个答案:

答案 0 :(得分:3)

您需要导出为JAR文件。为此,您需要右键单击项目>出口。

选择Java> JAR文件

在JAR导出对话框中,选择要为项目导出的部分(导出生成的类文件和资源)。可能也想指定输出文件夹。其余选项可以保留为默认值,然后转到“完成”。

您可以在applet查看器中或从APPLET标记中的网页运行JAR,确保设置archive =“jar文件名”。

答案 1 :(得分:1)

在Eclipse中,右键单击项目,单击“导出”,然后导出为jar。

然后,您可以将此jar嵌入您的网页,以便作为applet运行,或者在appletviewer外部运行。

JAR和Archive Jar之间没有区别。 JAR代表“Java ARchive”。

答案 2 :(得分:0)

你无法在没有main方法的情况下创建自我执行jar。 幸运的是,这很简单。

您可以在主类中创建名为public static void main(String[] args)的方法。 然后做这样的事情:

    yourmainclassname yourname = new yourmainclassname(); //create new object
    yourname.init(); //invoke the applet's init() method
    yourname.start(); //starts the applet
    // Create a window (JFrame) and make applet the content pane.
    JFrame window = new JFrame("Put something here"); 
    window.setSize(640, 480); //size in pixels
    window.setContentPane(theApplet); //
    window.setVisible(true);
    window.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);

这就是全部。接下来,您可以将项目导出到自我执行JAR。