java applet没有抓住JRE 1.6.0_29及以上的重点(OS X)

时间:2011-12-13 14:44:26

标签: macos applet java

Java applet在其start()方法中具有以下内容:

this.setFocusable(true);
this.requestFocus();

启动时,applet仅在某些OS / JRE /浏览器配置中获取焦点。它是使用JDK 1.6.0_18编译的,在运行Java 1.7的PC上,它可以毫无问题地在所有浏览器(即Chrome,Firefox)中获得关注;即使applet是使用JDK 1.7编译的。

在Java 1.6.0_29附带的Mac OS X 10.6.8上,它并没有在Safari,Chrome或Firefox中获得焦点,但applet加载正常。当我将Mac OSX JDK升级到预览版1.7时 - 它并没有'完全加载applet。如果我使用JDK 1.7编译applet并使用JRE 1.7运行 - 它只会崩溃Mac上的浏览器。

有没有人遇到过类似的问题?感谢。

1 个答案:

答案 0 :(得分:1)

文档。对于Component.requestFocus()州:

  

由于此方法的焦点行为取决于平台,因此强烈建议开发人员尽可能使用requestFocusInWindow

可能在这种情况下使用后者吗?

  

有没有人遇到过类似的问题?

焦点问题与嵌入式applet密切相关。如果您想要更可靠的焦点行为,请使用Java Web Start启动applet自由浮动。