在 JavaFX 的文本区域内添加超链接

Ari*_*jit 2 javafx-2

我试图在 JavaFX 的文本区域内添加一个超链接(单击时将打开一个文本文件)。到目前为止,我已经编写了如下代码:

Hyperlink link = new Hyperlink();
    link.setText("Data Sheet");
    link.setOnAction(new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent e) {
            try {
                java.awt.Desktop.getDesktop().browse(
                        java.net.URI.create("MY text file"));
            } catch (IOException e1) {
                e1.printStackTrace();
            }
        }
    });
mytxtarea.appendText("Please cleck here "+link);
Run Code Online (Sandbox Code Playgroud)

该代码不起作用。实际上,附加文本不起作用。请帮忙。

jew*_*sea 5

您不能将超链接放置在文本区域中。

TextArea用于编辑文本,而不是显示超链接

潜在的替代解决方案

  • HTMLEditor - 如果您使用包含超链接的文本预加载 HTMLEditor,则 HTMLEditor 应该正常显示超链接,但用户实际上无法编辑超链接,因为 HTMLEditor 并不真正提供链接编辑功能。
  • RichTextFX - 用于编辑语法突出显示文本的第三方 JavaFX 控件,我不知道它是否提供链接编辑功能。
  • TextFlow - 内置控件,允许混合 JavaFX 节点(例如文本和超链接)的只读显示。
  • 具有嵌入式第三方基于 JavaScript 的编辑器的 WebView - 网络上有许多基于 JavaScript 的编辑器的源代码,它们能够内联显示和编辑超链接,因此您可以使用嵌入在 JavaFX WebView 组件中的这些编辑器之一。
  • 基于 JavaFX 的 Markdown 实现- 我刚刚链接到一个这样的实现,如果你用 google 搜索,网上还有其他可用的实现。