html中的Java小程序

时间:2013-08-01 03:51:59

标签: java html html5 applet object-tag

当我使用HTML 5的新对象标记时,我似乎无法在html中运行此jar。 我是否需要添加任何内容才能使其正常工作?这是它在w3schools网站上的外观,除了它们链接到.swf文件。

<object height = "800" width="600" data="ECPrototype.jar"></object>

使用代码更新:

import java.applet.Applet; 
import java.awt.Dimension;         
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;
import javax.swing.Timer;


public class EC extends Applet implements ActionListener{
    private static final long serialVersionUID = 1L;
    Animation test= new Animation();
    Timer timer= new Timer(5,this);
    Thread thread = new Thread(test);
    Thread t = null; 
    public void init() {
    }
     public void stop() {
    }
    public void actionPerformed(ActionEvent e) {
        test.move();
        test.update();
        test.repaint();
    }

    private class TAdapter extends KeyAdapter implements ActionListener {

        public void keyReleased(KeyEvent e) {
            test.keyReleased(e);
            test.stopAnimation();
        }

        public void keyPressed(KeyEvent e) {
            test.keyPressed(e);
            test.startAnimation();
            t= new Thread(test.animate);
            t.start();
        }

        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
        }
    }
    public EC()
    {
        thread.start();
        timer.start();
        JFrame window=new JFrame("EC");
        window.setPreferredSize(new Dimension(800,600));
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.add(test);
        window.addKeyListener(new TAdapter());
        window.setFocusable(true);
        window.pack();
        window.setVisible(true);
    }
    public static void main(String args[])
    {
        new EC();
    }
}

2 个答案:

答案 0 :(得分:1)

找到here并在我的计算机上测试:

<object type="application/x-java-applet" width="400" height="400">
    <param name="code" value="name.of.your.Applet">
    <param name="archive" value="YourJarFile.jar">
</object>

关于框架问题,尝试重写构造函数,init和main:

    public void init() {
        addKeyListener(new TAdapter()); // only executed in applet
    }
    public EC() {
        // executed in both applet and application
        thread.start();
        timer.start();
    }
    public static void main(String args[]) {   
        // only executed in application
        EC ec = new EC();
        JFrame window=new JFrame("EC");
        window.setPreferredSize(new Dimension(800,600));
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.add(ec.test);
        window.addKeyListener(ec.new TAdapter());
        window.setFocusable(true);
        window.pack();
        window.setVisible(true);
    }

答案 1 :(得分:0)

尝试

    <applet code=TicTacToe.class 
    archive="ECPrototype.jar"
    width=120 height=120>
    </applet>

(该类有你的main()我认为,jar就是整个事情)