1
我使用JWebBrowser作爲Swing應用程序中的組件。當我單擊JWebBrowser內部的鏈接時,它會打開一個新窗口(window.open()javascript),但由Swing組件包裝。我希望它在IE瀏覽器中打開!有沒有JWebBrowser的任何屬性允許這個?在新的IE窗口中打開JWebBrowser中的鏈接?
我使用JWebBrowser作爲Swing應用程序中的組件。當我單擊JWebBrowser內部的鏈接時,它會打開一個新窗口(window.open()javascript),但由Swing組件包裝。我希望它在IE瀏覽器中打開!有沒有JWebBrowser的任何屬性允許這個?在新的IE窗口中打開JWebBrowser中的鏈接?
我有類似的問題,大多數代碼是從最初的例子採取: 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();
}
});
}
});
}
});