【发布时间】:2015-06-10 17:20:04
【问题描述】:
我正在尝试将我使用 JFrame 制作的一些 Java 应用程序更改为 JApplets,以便将它们放置在我也在尝试制作的网站上。我只是想知道我的程序需要改变什么来实现这一点。这是其中一个程序的示例(我试图通过更改扩展名和一些属性来运行这个程序,但它只是随着进程仍在运行而消失):
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)
{
}
}
}
【问题讨论】:
-
把所有东西都放在一个 JPanel 中,然后你可以把 JPanel 放在一个 JFrame 或 JApplet 中,而不需要改变你的程序。
-
我已经设置好了。我添加的面板实际上是一个扩展 JPanel 并拥有大部分代码的类。这个类一开始只是 JFrame,用 keyListeners 作为输入。我真正想了解的是该程序将与音乐一起运行,但在 JApplet 扩展下我根本看不到它。
-
“我正在尝试将我使用 JFrame 制作的一些 Java 应用程序更改为 JApplets,以便将它们放置在网站上......” 不要浪费你的时间( 1)。可以使用Java Web Start 直接从链接启动框架。 1) 我所说的“时间”是指在转换过程中,以及小程序所需的永久维护。
标签: java swing deployment jframe japplet