我有一个示例代码App.java
:
import javax.swing.*;
import java.awt.*;
public class App extends JApplet
{
public void init()
{
getContentPane().add(new JLabel("App"));
}
public static void main(String[] args)
{
JApplet aplet = new App();
JFrame frame = new JFrame("App");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(aplet);
frame.setSize(300,300);
aplet.init();
aplet.start();
frame.setResizable(false);
frame.setVisible(true);
}
}
我通过compile.bat
:
@echo off
cls
del *.jar
javac *.java
jar cfe App.jar App *.class
del *.class
当我双击App.jar
时,我看到一个带有文字的框架。这就是我想要的。
我怎样才能在html页面上显示它?
我尝试使用以下代码,但不起作用:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>App</title>
</head>
<body>
<center>
<h1>App</h1>
<applet codebase="classes" code="App.class" archive="App.jar
width="300" height="300" " />
</center>
</body>
</html>
该页面显示Error. Click for details.
当我点击时,我看到:
load: class App.class not found.
java.lang.ClassNotFoundException: App.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: java.lang.ClassNotFoundException: App.class
当我在html上发布App.class
时,一切正常。我无法发帖App.jar
。
我怎么能这样做,所以它既可以作为applet又可以作为框架使用?
答案 0 :(得分:1)
我刚刚从html中删除了codebase="classes"
,一切正常:)。