我创建了一个Java Applet,它使用了我创建的另一个Java类。 Java类创建到远程设备的Telnet会话(使用包org.apache.commons),Applet调用此类的方法。任何Telnet命令的答案都是作为Applet应在网页中打印的String接收的。这是Applet的代码:
package m2mcom.web;
import m2mcom.entities.AutomatedTelnetClient;
import java.applet.*;
import java.awt.*;
public class Displaytext extends Applet {
String text;
public void init() {
AutomatedTelnetClient telnet = new AutomatedTelnetClient("192.168.1.1");
String text = telnet.sendCommand("display device");
telnet.disconnect();
}
public void paint(Graphics g) {
g.drawString(text,40,20);
}
}
当我执行.html文件时,我收到此错误消息:
NoClassDefFoundError. DisplayText(wrong name: m2mcom/web/DisplayText)
总之,我不知道我是不是正确安排了文件目录,或者只是无法以这种方式从Applet调用其他方法类。谁能告诉我我做错了什么?
此HTML已从评论中复制并已格式化。
<HTML>
<HEAD>
</HEAD>
<BODY>
<div>
<APPLET
CODE="Displaytext.class"
WIDTH="800"
HEIGHT="500">
</APPLET>
</div>
</BODY>
</HTML>
答案 0 :(得分:1)
取类名称的最后部分:
NoClassDefFoundError. DisplayText(wrong name: m2mcom/web/DisplayText)
&安培;
public class Displaytext extends Applet {
我们最终得到这两个(非等效)字符串:
DisplayText
Displaytext
注意区别?
AutomatedTelnetClient("192.168.1.1")
告诉我这个小程序将尝试访问跨站点。为此,需要进行数字签名和信任。Applet
替换为JApplet
。paint(Graphics)
,请勿覆盖String
!将其添加到文本组件并将组件添加到小程序。