java 小程序中的 ClassNotFoundException?
ClassNotFoundException in java applets?
我遇到小程序问题,我已经坚持了几个小时。我制作了一个在 Eclipse 中运行良好的简单计算器小程序。我还制作了一个简单的 html 文档(我已经对它进行了多次修改,您可以想象,为了让它工作),其中包含我的计算器小程序。问题是,每当我在 html 文档上点击 "open with firefox" 时,我都会收到以下错误:
现在,我知道这个问题以前在互联网上出现过,但是我已经在这么多论坛上搜索了这么多小时,我仍然没有弄清楚。
我尝试了很多方法来解决这个问题。
我已经尝试启用 heck Use SSL 2.0 Compatible ClientHello 格式。
我已经尝试清理 Java 缓存,方法是转到 Java 控制面板,单击临时 Internet 文件下的设置,然后单击删除文件。 None 这些东西都做了。
我还尝试将最初在 eclipse 中的 java class 保存到记事本中的 .java 中,并将其和小程序放入同一目录中,同样,它什么也没做。
现在,我不再尝试移动 .java 文件,而是将 .html 文件移动到我所有代码所在的 src 文件夹中,如屏幕截图所示:
这个目录在我工作区的 src
这是我的 html 代码,其中包含 java 代码:
<html>
<head>
<title> Hello </title>
</head>
<body>
<APPLET code = "myappletclass.java" width = "400" height = "100"
alt = "Not working"
>
</APPLET>
</body>
</html>
这是我的 html 代码经过数百万次修改,所以我可能已经尝试过这种不同的形式(即没有 alt,或者小写的 APPLET ...)但是我我完全接受所有建议。
这是随附的 java 代码:
import java.awt.*;
import javax.swing.*;
public class myappletclass extends JApplet {
private double sum;
public void init() { //started by the browser when the Java program (myappletclass.class) is loaded and run by the browser. The programmer does not write a call to the init() method.
double n1 = 0;
double n2 = 0;
boolean successone = false; //keeps try catch running
while (!successone) {
try {
String fn = JOptionPane.showInputDialog("Enter first number:"); //Whatever they enter will be stored in string fn
n1 = Double.parseDouble(fn);
successone = true; //wont go through while loop because is true now!
sum += n1;
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, "ENTER A NUMBER", "Nu uh", JOptionPane.WARNING_MESSAGE);
}
}
boolean successtwo = false; //keeps try catch running
while (!successtwo) {
try {
String sn = JOptionPane.showInputDialog("Enter second number:"); //Whatever they enter will be stored in string sn
n2 = Double.parseDouble(sn);
successtwo = true; //wont go through while loop because is true now!
sum += n2;
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, "ENTER A NUMBER", "Nu uh", JOptionPane.WARNING_MESSAGE);
}
}
}
public void paint(Graphics g) {
super.paint(g); //call superclass of paint
g.drawString("The sum is " + sum, 25, 25);
}
}
此时此刻,我非常想弄清楚它是如何工作的。同样,我花了无数个小时来弄清楚如何做到这一点,所以我非常感谢您对如何在 firefox 中使用我的 html 文档显示我的小程序的建设性批评和反馈。很高兴收到你的来信,非常感谢。
使用命令提示符使用 APPLETVIEWER 进行编辑
我让它与 appletviewer 一起工作,但我这样做的全部目的是看看它在像 firefox 这样的真实浏览器中的外观,以及我所有的 html 和所有。相反,我得到的结果与在 eclipse 中 运行 它得到的结果相同。
非常感谢 MadProgrammer 帮我找出答案,让我不再浪费 10 个小时!这是我所做的:我需要将 codebase = file://linkatbrowserbar 添加到我的标签中。添加 file:// blah/blah/blah 后,我遇到了一个安全弹出窗口,提示我的安全性不允许使用此小程序。然后,我进入安全性的 java 控制面板,并将 file://blah/blah/blah 添加到我可以传递给安全性的事物列表中。然后我通过浏览器打开它,就是这样!成功了!
另请注意,您需要先在命令提示符下编译它,以将其从 .java 转换为 .class。然后你就可以完成所有这些步骤了! :)
我遇到小程序问题,我已经坚持了几个小时。我制作了一个在 Eclipse 中运行良好的简单计算器小程序。我还制作了一个简单的 html 文档(我已经对它进行了多次修改,您可以想象,为了让它工作),其中包含我的计算器小程序。问题是,每当我在 html 文档上点击 "open with firefox" 时,我都会收到以下错误:
现在,我知道这个问题以前在互联网上出现过,但是我已经在这么多论坛上搜索了这么多小时,我仍然没有弄清楚。
我尝试了很多方法来解决这个问题。
我已经尝试启用 heck Use SSL 2.0 Compatible ClientHello 格式。
我已经尝试清理 Java 缓存,方法是转到 Java 控制面板,单击临时 Internet 文件下的设置,然后单击删除文件。 None 这些东西都做了。
我还尝试将最初在 eclipse 中的 java class 保存到记事本中的 .java 中,并将其和小程序放入同一目录中,同样,它什么也没做。
现在,我不再尝试移动 .java 文件,而是将 .html 文件移动到我所有代码所在的 src 文件夹中,如屏幕截图所示:
这个目录在我工作区的 src
这是我的 html 代码,其中包含 java 代码:
<html>
<head>
<title> Hello </title>
</head>
<body>
<APPLET code = "myappletclass.java" width = "400" height = "100"
alt = "Not working"
>
</APPLET>
</body>
</html>
这是我的 html 代码经过数百万次修改,所以我可能已经尝试过这种不同的形式(即没有 alt,或者小写的 APPLET ...)但是我我完全接受所有建议。
这是随附的 java 代码:
import java.awt.*;
import javax.swing.*;
public class myappletclass extends JApplet {
private double sum;
public void init() { //started by the browser when the Java program (myappletclass.class) is loaded and run by the browser. The programmer does not write a call to the init() method.
double n1 = 0;
double n2 = 0;
boolean successone = false; //keeps try catch running
while (!successone) {
try {
String fn = JOptionPane.showInputDialog("Enter first number:"); //Whatever they enter will be stored in string fn
n1 = Double.parseDouble(fn);
successone = true; //wont go through while loop because is true now!
sum += n1;
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, "ENTER A NUMBER", "Nu uh", JOptionPane.WARNING_MESSAGE);
}
}
boolean successtwo = false; //keeps try catch running
while (!successtwo) {
try {
String sn = JOptionPane.showInputDialog("Enter second number:"); //Whatever they enter will be stored in string sn
n2 = Double.parseDouble(sn);
successtwo = true; //wont go through while loop because is true now!
sum += n2;
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, "ENTER A NUMBER", "Nu uh", JOptionPane.WARNING_MESSAGE);
}
}
}
public void paint(Graphics g) {
super.paint(g); //call superclass of paint
g.drawString("The sum is " + sum, 25, 25);
}
}
此时此刻,我非常想弄清楚它是如何工作的。同样,我花了无数个小时来弄清楚如何做到这一点,所以我非常感谢您对如何在 firefox 中使用我的 html 文档显示我的小程序的建设性批评和反馈。很高兴收到你的来信,非常感谢。
使用命令提示符使用 APPLETVIEWER 进行编辑
我让它与 appletviewer 一起工作,但我这样做的全部目的是看看它在像 firefox 这样的真实浏览器中的外观,以及我所有的 html 和所有。相反,我得到的结果与在 eclipse 中 运行 它得到的结果相同。
非常感谢 MadProgrammer 帮我找出答案,让我不再浪费 10 个小时!这是我所做的:我需要将 codebase = file://linkatbrowserbar 添加到我的标签中。添加 file:// blah/blah/blah 后,我遇到了一个安全弹出窗口,提示我的安全性不允许使用此小程序。然后,我进入安全性的 java 控制面板,并将 file://blah/blah/blah 添加到我可以传递给安全性的事物列表中。然后我通过浏览器打开它,就是这样!成功了!
另请注意,您需要先在命令提示符下编译它,以将其从 .java 转换为 .class。然后你就可以完成所有这些步骤了! :)