Java 从JFrame更改为JApplet

Java 从JFrame更改为JApplet,java,swing,deployment,jframe,japplet,Java,Swing,Deployment,Jframe,Japplet,我正在尝试将我使用JFrame制作的一些Java应用程序更改为JApplets,这样它们就可以放在我也在尝试制作的网站上。我只是想知道在我的程序中需要改变什么才能实现这一点。下面是其中一个程序的示例(我试图通过更改扩展名和一些属性来运行这个程序,但它在进程仍在运行时消失): 有了这段代码,您就有了两个版本(JFrame和JApplet) 把所有的东西放在一个JPanel中,然后你可以把JPanel放在一个JFrame或JApplet中,而不需要改变你的程序。不过我已经设置好了。我添加的面板实际上

我正在尝试将我使用JFrame制作的一些Java应用程序更改为JApplets,这样它们就可以放在我也在尝试制作的网站上。我只是想知道在我的程序中需要改变什么才能实现这一点。下面是其中一个程序的示例(我试图通过更改扩展名和一些属性来运行这个程序,但它在进程仍在运行时消失):


有了这段代码,您就有了两个版本(JFrame和JApplet)


把所有的东西放在一个JPanel中,然后你可以把JPanel放在一个JFrame或JApplet中,而不需要改变你的程序。不过我已经设置好了。我添加的面板实际上是一个扩展了JPanel的类,拥有大部分代码。这个类最初只是JFrame,带有用于输入的KeyListener。我真正想了解的是,该程序将与音乐一起运行,但在JApplet扩展下,我根本看不到它。“我试图将我使用JFrame制作的一些Java应用程序更改为JApplets,以便它们可以放在网站上…”不要浪费时间(1)。可以使用从链接直接启动帧。1) 我所说的“时间”是指转换过程中的时间,以及小程序所需的永久维护。
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener; 
import javax.swing.*;

@SuppressWarnings("serial")
public class Snake extends JApplet//extends JFrame
{
    private Panel panel;
    Dimension x = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    private final int SCALER = 25, LENGTH = (int) x.getWidth()/SCALER-1, 
                      HEIGHT = (int) x.getHeight()/SCALER-1;

public static void main(String[] args)
{
    new Snake();
}

public Snake()
{
    //setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(x);
    //setTitle("SNAKE");
    //setResizable(false);
    panel = new Panel(20,20,SCALER);
    add(panel, BorderLayout.CENTER);
    Handler handler = new Handler();
    addKeyListener(handler);
    setVisible(true);
}

private class Handler implements KeyListener
{
    public void keyPressed(KeyEvent e)
    {
        switch (e.getKeyCode())
        {
            case KeyEvent.VK_LEFT:
            panel.pass(270);
            break;
            case KeyEvent.VK_RIGHT:
            panel.pass(90);
            break;
            case KeyEvent.VK_UP:
            panel.pass(0);
            break;
            case KeyEvent.VK_DOWN:
            panel.pass(180);        
            break;
        }
    }

    public void keyReleased(KeyEvent e) 
    {

    }

    public void keyTyped(KeyEvent e) 
    {

    }
  }
}
public class Snake extends JApplet 
{
    public static void main(String[] args)
    {
        // JFrame
        JFrame frame = new JFrame();
        frame.setTitle("Snake");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // Applet
        JApplet applet = new Snake();
        applet.init();

        // Insert the Applet into JFrame
        frame.getContentPane().add(applet);
        frame.pack();
        frame.setVisible(true);
    }
...