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上的浏览器。
有没有人遇到过类似的问题?感谢。
答案 0 :(得分:1)
文档。对于Component.requestFocus()
州:
由于此方法的焦点行为取决于平台,因此强烈建议开发人员尽可能使用
requestFocusInWindow
。
可能在这种情况下使用后者吗?
有没有人遇到过类似的问题?
焦点问题与嵌入式applet密切相关。如果您想要更可靠的焦点行为,请使用Java Web Start启动applet自由浮动。