java - 如何禁用 JWebBrowser 中的栏?

标签 java swing

我正在使用chrriis.dj.nativeswing.swtimpl.components.JWebBrowser在我的 Swing 应用程序中打开网页。 现在我的问题是我在浏览器中打开页面(url),但是单击任何按钮(例如 facebook)时,它将打开浏览器的其他窗口。我希望它打开但没有菜单栏。 我的代码片段如下:

final JWebBrowser webBrowser = new JWebBrowser(JWebBrowser.destroyOnFinalization());
webBrowser.setBarsVisible(false);
webBrowser.setMenuBarVisible(false);
webBrowser.navigate("http://www.xyz.com/product/myproducts-2");
webBrowser.setFocusable(false);

最佳答案

你可以尝试这样:

webBrowser.addWebBrowserListener(new WebBrowserAdapter() {

    @Override
    public void windowWillOpen(WebBrowserWindowWillOpenEvent e) {

        e.getNewWebBrowser().addWebBrowserListener(new WebBrowserAdapter() {
                    @Override
                    public void locationChanging(WebBrowserNavigationEvent e) {
                        final JWebBrowser webBrowser = e.getWebBrowser();
                        webBrowser.removeWebBrowserListener(this);
                        webBrowser.setMenuBarVisible(false);
                        webBrowser.setBarsVisible(false);
                        webBrowser.setFocusable(false);

                    }
                });
        }
    }

我从 snippets 获取它,特别是 Navigation Control (直接下载)片段。

您还可以查看 DJ Native Swing documentation 内的 WebBrowserAdapter javadoc。 .

关于java - 如何禁用 JWebBrowser 中的栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11985538/

相关文章:

java - 无法将数据从 JTable 插入数据库

java - 用 BufferedInputStream 包装后对原始 InputStream 的影响

java - 评估 Java 中的数学表达式

java - 将 JButton 添加到滚动 Pane

java - DefaultTableModel 的 dataVector 的克隆问题

java - 不能使无法通行 'wall'

java - 使用 TableModelListener 从数据库检索数据到 JTable(JTable 中有 JCheckbox)时出错

java - 从单链表中提取前 n 个元素

java - WebSphere Portal 中与门户 URI 相关的内存泄漏

java - 使用 ActionListener 更改变量时遇到问题