当我在同一个浏览器上运行两个Java Applet实例时,一个Applet的内容会显示在另一个Applet上。
我发现这种行为的原因是由于使用了数据显示中涉及的静态变量。
问题在于Mozilla FireFox&谷歌浏览器浏览器,而它与Internet Explorer一起工作正常。
我需要在类之间共享一个变量来显示/操作数据。
我应该采取什么方法来防止使用静态变量,或者以这种方式共享变量,以便解决上述问题?
提前致谢。
CB
答案 0 :(得分:3)
此行为是正确的,并在文档(标题为“类加载器缓存和Applet之间的交互”一节)中明确说明: http://download.oracle.com/javase/6/docs/technotes/guides/jweb/applet/applet_execution.html
(微软打破这一事实可能并不令人意外)
如该文档中所述,您可以关闭类加载器缓存以通过以下方式阻止此操作:
新插件提供了一种基于applet选择不在applet上使用类加载器缓存的方法。
<APPLET archive="my_applet.jar" code="MyApplet" width="300" height="300">
<PARAM name="classloader_cache" value="false">
</APPLET>
classloader_cache参数的默认值为true;默认情况下启用类加载器缓存。