phanhongphucit
phanhongphucit

Reputation: 547

Open a link in JWebBrowser in a new IE window?

I'm using JWebBrowser as a component in Swing application. When I click a link inside JWebBrowser, it's open a new window (window.open() javascript) but wrapped by Swing component. I want it open in IE browser! Is there any attribute of JWebBrowser to allow this?

Upvotes: 1

Views: 741

Answers (1)

manus
manus

Reputation: 73

I had similar problem, most of this code is taken from the original example: http://djproject.cvs.sourceforge.net/viewvc/djproject/DJNativeSwing-SWTDemo/src/chrriis/dj/nativeswing/swtimpl/demo/examples/webbrowser/NavigationControl.java?pathrev=R-1_0_1

browser.addWebBrowserListener(new WebBrowserAdapter() {

    public void windowWillOpen(WebBrowserWindowWillOpenEvent e) {
        // get the new swing window
        final JWebBrowser newBrowser = e.getNewWebBrowser();
        newBrowser.addWebBrowserListener(new WebBrowserAdapter() {

            @Override
            public void locationChanging(WebBrowserNavigationEvent newEvent) {
                // launch default OS browser
                if (Desktop.isDesktopSupported()) {
                    Desktop desktop = Desktop.getDesktop();

                    if (desktop.isSupported(Desktop.Action.BROWSE)) {
                        try {
                            desktop.browse(new URI(newEvent.getNewResourceLocation()));
                        } catch (Exception ex) {}
                    }
                }
                newEvent.consume();

                // immediately close the new swing window
                SwingUtilities.invokeLater(new Runnable() {

                    public void run() {
                        newBrowser.getWebBrowserWindow().dispose();
                    }
                });
            }
        });
    }
});

Upvotes: 1

Related Questions