java - JxBrowser更新浏览器

标签 java swing browser jframe jxbrowser

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

最佳答案

你可以自己写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);

关于java - JxBrowser更新浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54979583/

相关文章:

当 url 中存在查询字符串时,java webstart 重新下载 jnlp

java - 如何解析表达式来访问 POJO 属性?

Java 2D API : Null Pointer Exception

java - GUI 测试应该以默认外观运行吗?

html - 复制和粘贴不间断空格在不同的系统/浏览器中如何比较?

javascript - 浏览器错误?除非闲置至少 20ms,否则无法显示忙碌指示器

javascript - Chrome 选项卡未激活时暂停 JavaScript

Java 异常 - 不使用 try catch 处理异常

java - 应用程序在 sleep 后崩溃

java - JRadiobutton ActionListener 没有响应