【问题标题】:Focus issues with JWebBrowser when browser window is refocused重新聚焦浏览器窗口时 JWebBrowser 的聚焦问题
【发布时间】:2014-11-03 18:43:32
【问题描述】:

我在我的 Swing 应用程序中使用 DJBrowser 来显示带有样式表的静态 html 页面。 JWebBrowser 实例被添加到面板内,面板在 JFrame 内。问题是当浏览器框架重新获得焦点时,焦点不会回到浏览器内部。

我使用的是 java 6(具体来说是 jdk 1.6.0_21)。

我已经尝试了DJProject 中的SimpleWebBrowserExample。打开JWebBrowser 后,焦点/光标将进入浏览器内容,例如谷歌搜索文本字段。当屏幕通过 ALT+TAB 取消焦点并使用相同的键重新聚焦时,焦点不会再次进入文本字段(不确定焦点在哪里)。

在我的应用程序中,在浏览器中打开 html 页面后,用户通常希望使用 CTRL+F 选项在页面内查找一些单词,然后经常在应用程序和浏览器之间切换。但切换到浏览器后,用户无法访问 CTRL+F 选项,因为没有关注本机浏览器。 (除非他/她用鼠标点击浏览器)。

在阅读了其他类似的帖子后,我尝试将焦点设置为原生组件,例如 - getNativeComponent().requestFocus(),但这不起作用。

有人可以帮忙吗?

【问题讨论】:

    标签: java html swing


    【解决方案1】:

    我从 Christopher Deckers 那里得到了上述问题的答案。

    如果您控制网页,则可以跟踪获得焦点的控件,并可能在检测到它应该重新获取焦点时执行Javascript 代码以恢复焦点。 Javascript 代码可能类似于:

    document.getElementById("mytext").focus();
    

    这对我有帮助。现在,当窗口获得焦点时,Web 组件将获得焦点。

    只是与大家分享。

    谢谢, 图沙尔

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      • 2011-12-11
      • 2013-10-03
      • 1970-01-01
      相关资源
      最近更新 更多