如果在浏览器窗口或独立applet中打开另一个applet实例,任何人都可以建议能够创建applet并共享其参数。
我打算做的是在applet打开时启用JButton
。如果单击该按钮,则应禁用该按钮。代码部分工作正常。什么不能正常工作,当我同时打开2个applet窗口(运行相同的代码),然后单击按钮时,该按钮在当前窗口中禁用;但它不会在另一方面禁用。
我想要完成的是打开2个applet窗口,然后在一个窗口中单击按钮,并想要查看两个窗口中的按钮是否都禁用。这是相同的applet代码,只打开了2个不同的窗口。我试过以下样本:
public void init() {
mousePressed();
click = new JButton("click");
click.setActionCommand("click");
if (isFileAvailableForCapture())
click.setEnabled(true);
else {
click.setEnabled(false);
}
}
void mousePressed(){
if(click==null)
System.out.println("This is the value of click" + click);
click = new JButton("click");
}
我怎么做到这一点?请帮忙 !
如果Applet在同一个虚拟机实例中运行,则它们只能进行通信。
您可以尝试将SEPARATE_JVM
参数指定为false
,但我不相信它会在所有情况下都有效。我希望失败的一个特殊情况是如果applet被拖出浏览器。我不确定这是否是'独立applet'的意思。
如果能使其工作,将会有什么用?你会建议在applet代码本身没有直接的方法吗?
到目前为止,我只考虑了在applet之间进行通信的典型“内置”方法。还有其他方法可以解决这个问题。
PersistenceService
,它会在第一次保存任何信息时提示用户。用户可以勾选为该JVM会话持续存在的“始终允许”框。 applet可以从相同的代码库读取/写入cookie。Socket
,但它需要一个可靠的小程序来建立一个ServerSocket
。话虽如此,许多机器都有防火墙,插座必须首先应对。