3

我想在使用 Java FX 的 Swing 中单击另一个 Web 视图中的超链接时在另一个 Web 视图控件中打开链接

实际上,我在同一个屏幕上有两个 Web 视图控件 A n B。单击 a 中的超链接时,应在 B Web 视图控件中打开新链接

4

1 回答 1

5

允许 webviewA 在 webviewB 中打开内容

使用setCreatePopupHandler

webviewA.getEngine().setCreatePopupHandler(new Callback<PopupFeatures, WebEngine>() {
  @Override public WebEngine call(PopupFeatures popupFeatures) {
    return webviewB.getEngine();
  }
});

或者,如果您使用的是 jdk8 并且不喜欢输入:

webviewA.getEngine().setCreatePopupHandler(
  popupFeatures -> webviewB.getEngine()
);

使您的 html 链接在新窗口中打开内容

webviewA定义使用加载的文档中的超链接target="_blank"

例如:

webviewA.loadContent(
  "<a href='http://sundae.triumf.ca/pub2/cave/node001.html' target='_blank'>" +
    "XYZZY" +
  "</a>"
);

当你点击超链接并说出魔法词时,它将打开巨大的洞穴冒险webviewB

于 2012-12-04T09:19:50.343 回答