【发布时间】:2015-10-16 19:31:53
【问题描述】:
我想我会尝试使用小程序 - 我使用 Eclipse 制作了一个小程序。使用 Run As -> Java Applet 运行良好。
我阅读了一些关于在 Eclipse 之外运行它的信息,所以我做了以下操作:
- 制作了一个文件夹。
- 新建 -> Java 项目 [applet_test]。
- 在项目内部,我创建了 New -> Other -> Visual Swing Class -> Applet [Number1] - 创建了
Number1.class。 - 添加了代码并将其作为 Java 小程序运行 - 运行良好。
- 将项目导出为 JAR 文件(不是可运行的 JAR 文件)。
- 使用TextEdit(Mac 的Windows 版本Notepad)编写了HTML。下面是 HTML...
- 我把 JAR 文件、HTML 和 .class 文件放在文件夹中。
- 在终端(Mac 版本的 Windows 命令提示符窗口)中,我运行了 Appletviewer applet_testX2.html(这是我的 HTML 的名称)。
- 我可以在屏幕顶部看到应用程序名称的短暂闪烁(与任何其他正在运行的应用程序一样)。
但是,应用程序(应该显示带有标签和按钮的 Jpanel)没有出现。我还尝试从 Firefox 和 Safari 运行它。只出现了 HTML 代码。
那么,我做错了什么?而且,更重要的是,我该如何正确地做到这一点?
代码如下,没有导入语句:
<html>
<body>
<applet code="Number1.class" archive="applet_test.jar"
width=300
height=300>
</applet>
</body>
</html>
Java 代码:
public class Number1 extends JApplet {
public Number1() {
}
private static final long serialVersionUID = 1L;
@Override
public void init() {
try {
EventQueue.invokeAndWait(new Runnable() {
@Override
public void run() {
initComponents();
}
});
}
catch (Exception ex) {
ex.printStackTrace();
}
}
private void initComponents() {
setSize(320, 240);
JPanel panel = new JPanel();
getContentPane().add(panel, BorderLayout.CENTER);
JLabel lblAppletTest = new JLabel("Applet test 1");
panel.add(lblAppletTest);
JButton btnPushIt = new JButton("Push it");
panel.add(btnPushIt);
}
}
Firefox 源码视图:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<meta name="Author" content="BT">
<meta name="Generator" content="Cocoa HTML Writer">
<meta name="CocoaVersion" content="1038.35">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Helvetica}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px Helvetica; min-height: 19.0px}
</style>
</head>
<body>
<p class="p1"><html></p>
<p class="p1"><span class="Apple-converted-space"> </span><body></p>
<p class="p1"><span class="Apple-converted-space"> </span><applet code="Number1.class" archive="applet_test.jar"</p>
<p class="p2"><br></p>
<p class="p1"><span class="Apple-converted-space"> </span>width=300</p>
<p class="p1"><span class="Apple-converted-space"> </span>height=300></p>
<p class="p1"></applet></p>
<p class="p1"></body></p>
<p class="p1"></html></p>
</body>
</html>
【问题讨论】:
-
谢谢。我没有收到任何错误。浏览器只是显示了上面显示的 HTML 文本。查看 Firefox 中的 Source 视图并没有发现任何奇怪之处。我会在上面添加它...
-
你确定没有错误吗?有时你必须挖掘才能找到它们。如果你进入 FireFox 的工具 java 控制台怎么办?
-
“我想试试 Applets..” 为什么?除非您对嵌入网页中的富客户端有特殊需求,否则开发基于 JFrame 的应用程序会更好(也更容易)。使用 Java Web Start 启动。我通常会尽量避免使用小程序,这是来自在他们的网站上有许多小程序的人,已经开发了分数,并且工作了数百个。小程序不容易。