我一直在Stackoverflow上搜索,发现问题似乎是,指向类的路径不正确。(我试着调整我的代码,但它仍然给我ClassNotFoundException)这段代码的目的是,让一个用户点击列表,然后它会将他们重定向到一个website.This也是从新的训练。
Java:
package webApplet;
import java.applet.AppletContext;
import java.awt.BorderLayout;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.swing.JApplet;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
public class Applet extends JApplet {
HashMap webInfo;
List<String> name;
JList list;
public void init() {
webInfo = new HashMap();
name = new ArrayList();
populate();
add(new JLabel("please click on a website"), BorderLayout.NORTH);
list = new JList(name.toArray());
list.addListSelectionListener(
new ListSelectionListener() {
public void valueChanged(ListSelectionEvent event) {
Object object = list.getSelectedValue();
URL url = (URL) webInfo.get(object);
AppletContext browser = getAppletContext();
browser.showDocument(url);
}
});
add(new JScrollPane(list), BorderLayout.CENTER);
}
public void populate() {
URL url;
String title;
String address;
int counter = 0;
title = getParameter("title" + counter);
while (title != null) {
try {
address = getParameter("address" + counter);
url = new URL(address);
webInfo.put(title, url);
name.add(title);
} catch (MalformedURLException ex) {
System.out.println("hi");
}
}
counter++;
title = getParameter("title" + counter);
}
}html:
<html>
<body>
<applet code= "webApplet.Applet.class" width = "500" height = "250">
<param name= "title0" value = "thenewBoston.org">
<param name= "address0" value = "http://thenewboston.org">
<param name= "title1" value = "Awesome forum!">
<param name= "address1" value = "http://tnbforum.com/">
</applet>
</body>
</html>错误:
Java Plug-in 10.25.2.16
Using JRE version 1.7.0_25-b16 Java HotSpot(TM) Client VM
User home directory = C:\Users\tin
c: clear console window
f: finalize objects on finalization queue
g: garbage collect
h: display this help message
l: dump classloader list
m: print memory usage
o: trigger logging
q: hide console
r: reload policy configuration
s: dump system and deployment properties
t: dump thread list
v: dump thread stack
x: clear classloader cache
0-5: set trace level to <n>在错误下面是这样的:"webApplet.Applet.class“
这是我的文件的流程:
website ---->
source packages----->
webApplet---->
- Applet.java
- bucky.html发布于 2013-09-18 09:40:23
问题是你的html放在java文件旁边,而不是class文件。找到类文件所在的目录,并将html文件放入其中。
类文件的扩展名为Applet.class而不是Applet.java
因此,在您的示例中,类文件可能位于webApplet/bin/classes下
发布于 2013-09-18 12:50:20
如果Applet.class最终与Applet.java在同一位置(请选择更好的类名BTW,甚至TestApplet01也明确表示我们不是指java.applet.Applet),那么所看到的bucky.html需要在父目录中。
website ---->
source packages----->
- bucky.html
webApplet---->
- Applet.java
- Applet.class至于HTML。更改:
<applet code= "webApplet.Applet.class" width = "500" height = "250">
<param name= "title0" value = "thenewBoston.org">
<param name= "address0" value = "http://thenewboston.org">
<param name= "title1" value = "Awesome forum!">
<param name= "address1" value = "http://tnbforum.com/">
</applet>为了..。
<applet code= "webApplet.Applet" width = "500" height = "250">
...
</applet>code属性应该是类的完全限定名。虽然webApplet/Applet.class可能是一个类的href,而webApplet.Applet是FQN,但webApplet.Applet.class只是..wrong。可以容忍,但却是错误的。
发布于 2013-09-18 11:05:31
问题是Applet.class文件不在类路径中。如果您没有使用任何集成开发环境,则可能需要手动编译Applet.java文件:
// Assuming the Applet.java is in current directory and Java is setup fully.
prompt> javac Applet.java这将创建名为webApplet/Applet.class的Applet.class文件。这里的webApplet是一个文件夹。
将完整的webApplet/Applet.class文件Jar为
jar -cvf applet.jar webApplet/Applet.class将jar路径添加到系统的CLASSPATH环境变量值中。有关如何做到这一点,请参阅以下内容:http://www3.ntu.edu.sg/home/ehchua/programming/howto/Environment_Variables.html
如果你正在使用像eclipse这样的IDE,它可能会帮助你做到这一点。无论如何,主要的事情是确保jar在CLASSPATH中,以便JVM能够识别该jar。
https://stackoverflow.com/questions/18862530
复制相似问题