我正在尝试使用Applet中的setter方法,将HTML下拉列表中的选定值传递给Applet方法。但是每次调用Javascript时,都会显示“对象不支持此属性或方法”作为例外。
我的JavaScript代码:
function showSelected(value){
alert("the value given from"+value);
var diseasename=value;
alert(diseasename);
document.decisiontreeapplet.setDieasename(diseasename);
alert("i am after value set ");
}
我的小程序代码:
package com.vaannila.utility;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import prefuse.util.ui.JPrefuseApplet;
public class dynamicTreeApplet extends JPrefuseApplet {
private static final long serialVersionUID = 1L;
public static int i = 1;
public String dieasenameencode;
//System.out.println("asjdjkhcd"+dieasenameencode);
public void init() {
System.out.println("asjdjkhcd"+dieasenameencode);
System.out.println("the value of i is " + i);
URL url = null;
//String ashu=this.getParameter("dieasenmae");
//System.out.println("the value of the dieases is "+ashu);
//Here dieasesname is important to make the page refresh happen
//String dencode = dieasenameencode.trim();
try {
//String dieasename = URLEncoder.encode(dencode, "UTF-8");
// i want this piece of the code to be called
url = new URL("http://localhost:8080/docRuleToolProtocol/appletRefreshAction.do?dieasename="+dieasenameencode);
URLConnection con = url.openConnection();
con.setDoOutput(true);
con.setDoInput(true);
con.setUseCaches(false);
InputStream ois = con.getInputStream();
this.setContentPane(dynamicView.demo(ois, "name"));
ois.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (FileNotFoundException f) {
f.printStackTrace();
} catch (IOException io) {
io.printStackTrace();
}
++i;
}
public void setDieasename(String message){
System.out.println("atleast i am here and call is made ");
this.dieasenameencode=message;
System.out.println("the final value of the dieasenmae"+dieasenameencode);
}
}
我的appletdeployment代码:
<applet id="decisiontreeapplet" code="com.vaannila.utility.dynamicTreeApplet.class" archive="./appletjars/dynamictree.jar, ./appletjars/prefuse.jar" width ="1000" height="500" >
</applet>
更改..
document.decisiontreeapplet
..至..
document.getElementById('decisiontreeapplet')
..并且最有可能工作。
<html>
<body>
<script type='text/javascript'>
function callApplet() {
msg = document.getElementById('input').value;
applet = document.getElementById('output');
applet.setMessage(msg);
}
</script>
<input id='input' type='text' size=20 onchange='callApplet()'>
<br>
<applet
id='output'
code='CallApplet'
width=120
height=20>
</applet>
</body>
</html>
import javax.swing.*;
public class CallApplet extends JApplet {
JTextField output;
public void init() {
output = new JTextField(20);
add(output);
validate();
}
public void setMessage(String message) {
output.setText(message);
}
}
还请考虑下一次发布简短的完整示例。请注意,上面显示的两个源中的行数比您的applet短,并且我花了更长的时间准备源,因此我可以检查我的答案。
我先说我对java有点生疏,所以如果是个愚蠢的错误,那就是原因。 我在Java中弄乱了小程序,并且在设置窗口大小和使用JOptionPane时遇到了一个问题,无论是只是显示消息,还是通过它获取输入,它都会显示三个或更多窗格,而不仅仅是一个窗格。我在Ubuntu 12.04(x64)上,这是我的测试代码仍然遇到问题:
必须运行一些非常旧的遗留小程序。小程序最初使用JDK 1.4和IE。新系统是Edge和openJDK 11或更高版本。在旧系统中,我们使用Oracle JDK 8 witch实现了一个IE插件(Java插件11.321.2)。在网页(黑盒)上有一个启动“应用”的链接。任务管理器显示p2launcher。exe(Java(TM)Web启动器)。我真的不知道如何摆脱甲骨文。 到现在为止,我考虑过Ope
我要迁移一个JavaApplet通过JNLP启动,作为一个Java的Web Start应用程序,并遇到一些麻烦/误解... 我得到的资源之一是这样的:6迁移JavaAppletJavaWeb Start和JNLP: 让我们开始吧,但是: 目前,该应用程序是一个小程序(),过去是通过将小程序标记嵌入到HTML中来启动的,小程序标记指的是JNLP。 现在,由于所有浏览器都放弃了对小程序的支持,我应该将
问题内容: 在WKWebView中,我们可以使用webkit消息处理程序来调用ObjectiveC / swift代码,例如: 它非常适合没有参数的简单javascript函数。但; 是否可以使用JS回调函数作为参数来调用本机代码? 是否可以从本机代码向JS函数返回值? 问题答案: 不幸的是,我找不到本机解决方案。 但是以下解决方法解决了我的问题 使用JavaScript Promise,您可以从
react-native项目中使用react-native-webview嵌入vue页面,两种方式,在不同机型上无效. 方式一:直接使用window.postMessage(例如在 vivo z3手机(android9) 上vue页面监听方法不执行) 方式二:使用window.WebViewBridge.onMessage(例如在 小米手机(android13) 上vue页面监听方法不执行) 以上
问题内容: 我看到有两个类似的线程,但找不到答案。 我正在制作android应用,我想使用node作为服务器进行实时通信。 我真的无法使它正常工作。 可能我把很多事情弄错了,但我想尝试理解。 我的服务器很简单 并且可以正常工作…我通过网络应用程序尝试了此操作,然后就可以连接了。 但是我不能用java .. 我尝试了kryonet,但出现了类似“已连接但注册超时”的异常 我尝试使用weberknec