我已经创建了一个applet,并且将要从Web项目上的HTML页面访问applet方法。
这里我的小程序看起来像:
public class MessageApplet extends Applet {
private Label m_mess;
public void init()
{
setBackground(Color.lightGray);
setLayout(new BorderLayout());
m_mess = new Label("MessageApplet is Running...: No Selection Yet", Label.CENTER);
add(BorderLayout.CENTER, m_mess);
}
public void setMessage(String message)
{
m_mess.setText("Selection: " + message);
}
}
我的HTML页面如下所示:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<SCRIPT LANGUAGE="JavaScript">
function selectedCity()
{
if(document.CityChoice.City[0].checked == true)
{
document.SimpleMessageApplet.setMessage(document.CityChoice.City[0].value);
}
}
</SCRIPT>
</HEAD>
<BODY>
<b>This is the applet</b>
<APPLET
CODE="MessageApplet.class"
NAME="SimpleMessageApplet"
WIDTH=350
HEIGHT=100>
</APPLET>
<FORM NAME="CityChoice">
<input type="radio" name="City" value="Boston" onClick="selectedCity()"> Boston<br>
</form>
</BODY>
</html>
但是,当我单击单选按钮时,浏览器将挂起,并且无法访问applet方法。
我的applet类位于默认目录中,而HTML位于WebContent文件夹中。我应该更改我的代码吗?
问题是if
语句检查:
document.CityChoice.City[0].checked == true
这与JavaScript不完全一样,因为那里的错误表达式会引发 错误 ,并且永远不会使它进入if
语句主体。
我删除了该if
语句,并将代码更改为如下所示:
function selectedCity()
{
document.SimpleMessageApplet.setMessage("Hello");
}
当我单击时,我会看到Hello消息很好。
将您的HTML文件内容更改为以下内容:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<SCRIPT LANGUAGE="JavaScript">
function selectedCity()
{
var elem = document.getElementById('cityRb');
if(elem.checked)
{
document.SimpleMessageApplet.setMessage(elem.value);
}
}
</SCRIPT></HEAD>
<BODY >
<b>This is the Applet</b>
<APPLET CODE="MessageApplet.class" NAME="SimpleMessageApplet" WIDTH=350 HEIGHT=100 >
</APPLET >
<FORM NAME="CityChoice">
<input type="radio" id="cityRb" name="City" value="Boston" onClick="selectedCity()"> Boston<br>
</form>
</BODY >
</html>
同时添加完整的类代码:
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Label;
/**
*
* @author hmmmmm
*/
public class MessageApplet extends Applet {
private Label m_mess;
public void init() {
setBackground(Color.lightGray);
setLayout(new BorderLayout());
m_mess = new Label("MessageApplet is Running...: No Selection Yet", Label.CENTER);
add(BorderLayout.CENTER, m_mess);
m_mess.setBackground(Color.red);
}
public void setMessage(String message) {
m_mess.setText("Selection: " + message);
}
}
问题内容: 我有一个applet,可以从特定的文件夹上载一些文件并删除它们,但是当我从javascript代码中调用applet函数时,出现了问题,当我从它调用该函数时,它工作正常。 我的小程序代码: 这是我的JavaScript代码: 当我从javascript调用时,仅打印日志: 请注意,当我从applet方法调用时,它可以正常工作。 我将代码包装到中,但仅前进了一步,然后继续 问题答案: J
问题内容: 我有一个带有Java Applet的网站,该Applet需要连接到我的服务器。这在JApplets @Override init()中有效,但不适用于javascript调用的我自己的函数中。 网站: 输出: 我尝试通过System.out调用解决它,但是那里也没有任何反应。但是,这绝对可以: 哦,小程序当然也来自 我该如何解决或解决它? 问题答案: 尝试以下方法:
问题内容: 我正在使用Mozilla Rhino JavaScript模拟器。它允许我将Java方法添加到上下文中,然后像调用JavaScript函数一样调用它们。但是我无法使用它,除非使用静态方法。 问题是文档的这一部分: 如果该方法不是静态的,则Java的“ this”值将对应于JavaScript的“ this”值。任何使用不正确的Java类型的’this’值调用该函数的尝试都会导致错误。
问题内容: 我正在使用MVC3架构,c#.net。当焦点更改到下一个字段(即密码字段)时,我需要立即将文本框内容(用户ID)与数据库进行比较。因此,我想对用户ID字段使用onblur事件,然后再调用Controller方法。有谁能告诉我如何解决这个问题?作为我的新手,代码片段受到高度赞赏。 提前致谢, 普拉山斯 问题答案: 这是一个例子。控制器方法示例 这将是您的javascript函数。
问题内容: 我们如何从Android调用javascript?我有一个我想使用的javascript库,我想调用javascript函数并将结果值传递给android java代码。从现在开始还没有找到答案。我设法从javascript调用android代码,但我想反过来。 问题答案: 有一个hack: 绑定一些Java对象,以便可以使用WebView从Javascript调用它: 通过以下方式强
问题内容: 目前,我仅有的信息是浏览器状态栏中的单行错误消息。 例如,您知道如何获取堆栈跟踪吗? 问题答案: 本文有点陈旧,但仍然有意义(包括标题为“如何在Java插件中调试小程序”的部分)。 编辑:获取堆栈跟踪的更好方法是使用Java插件控制台。如果您在该窗口中点击“ t”,则会看到以下内容: 打印出所有现有的线程组。显示的第一个组是主组。ac表示有效计数;它是线程组及其子线程组中活动线程的总数