【问题标题】:JxBrowser update browserJxBrowser 更新浏览器
【发布时间】:2019-07-25 13:11:21
【问题描述】:

我正在使用 Java JxBrowser 在我的 Swing 应用程序上显示一个网站。单击本网站上的链接时,通常会打开一个新标签(例如在谷歌浏览器中)。但是我的应用程序正在打开一个弹出窗口以显示新窗口。是否可以更新我的应用程序的 jframe,以便弹出窗口保留在 jframe 中?谢谢!

【问题讨论】:

    标签: java swing browser jframe jxbrowser


    【解决方案1】:

    您可以编写自己的PopupHandler 来选择新的Browser 将出现在哪里:

    JFrame frame = new JFrame();
    frame.getContentPane().setLayout(new BorderLayout());
    
    com.teamdev.jxbrowser.chromium.Browser browser = new com.teamdev.jxbrowser.chromium.Browser();
    com.teamdev.jxbrowser.chromium.swing.BrowserView browserView = new com.teamdev.jxbrowser.chromium.swing.BrowserView(browser);
    
    browser.setPopupHandler(new com.teamdev.jxbrowser.chromium.PopupHandler() {
        @Override
        public com.teamdev.jxbrowser.chromium.PopupContainer handlePopup(com.teamdev.jxbrowser.chromium.PopupParams params) {
            return new com.teamdev.jxbrowser.chromium.PopupContainer() {
                @Override
                public void insertBrowser(com.teamdev.jxbrowser.chromium.Browser popupBrowser, Rectangle initialBounds) {
                    // do something with popupBrowser
                    com.teamdev.jxbrowser.chromium.swing.BrowserView popupBrowserView = new com.teamdev.jxbrowser.chromium.swing.BrowserView(
                            popupBrowser);
                    frame.getContentPane().removeAll();
                    frame.getContentPane().add(popupBrowserView, BorderLayout.CENTER);
                    frame.getContentPane().validate();
                    frame.getContentPane().repaint();
                }
            };
        }
    });
    
    frame.getContentPane().add(browserView, BorderLayout.CENTER);
    

    【讨论】:

    • 您好,感谢您的回答。我现在不在家,所以我稍后再试试。但是是否可以只在 insertBrowser() 函数中将弹出窗口添加到 jframe 中?
    • @Tailor 我已经编辑了我的答案,向您展示如何将 JFrame 的内容替换为弹出窗口的内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多