【问题标题】:Open Hyperlinks in JavaFX WebView with Default Browser使用默认浏览器在 JavaFX WebView 中打开超链接
【发布时间】:2015-11-01 18:30:28
【问题描述】:

我正在编写一个使用基于 Swing 的用户界面的 Java 程序,但是我需要访问 WebView,所以我实现了一个 JFXPanel 来处理这个问题。 WebView 应该将广告横幅加载到程序中,用户可以根据需要单击该程序。目前,当点击广告时,新页面正在WebView 内加载。如果可能的话,我希望在用户的默认浏览器中打开页面并刷新包含广告的页面。我怎样才能做到这一点?

【问题讨论】:

标签: webview javafx


【解决方案1】:
engine.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>()
        {
            @Override
            public void changed(ObservableValue<? extends Worker.State> observable, Worker.State oldValue,
                    Worker.State newValue)
            {
            String toBeopen =
                            engine.getLoadWorker().getMessage().trim();
                    System.out.println("tobeopen: " + toBeopen);
                    if (toBeopen.contains("http://") || toBeopen.contains("https://")) {
                        engine.getLoadWorker().cancel();
                        try {
                                Desktop.getDesktop().browse(new URL(toBeopen).toURI());
                            }
                            catch (MalformedURLException e) {
                                e.printStackTrace();
                            }
                            catch (URISyntaxException e) {
                                e.printStackTrace();
                            }
                            catch (IOException e) {
                                e.printStackTrace();
                            }
                   }
          }
});

【讨论】:

猜你喜欢
  • 2011-07-26
  • 2011-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-18
  • 1970-01-01
相关资源
最近更新 更多