如何使textflow可选

Rhy*_*ddy 3 java textflow javafx-8

我做了一个TextFlow,因为我需要使用多个字体姿势(我已将特定的"文本"设置为斜体或正常).一旦我显示TextFlow,它就不可选择/可复制.我需要的是TextFlow一旦在场景中显示就可以选择,因此它可以复制/粘贴.

带有font-posture的文本示例(仅举例一个例子):

Text volumeText = new Text(volume.getText());
volumeText.setFill(Color.WHITE); 
volumeText.setFont(Font.font("arial", FontPosture.ITALIC, 13));
TextFlow reference = new TextFlow(
                         lastNameText, miscelanous1, firstNameText, miscelanous2);
reference.setLayoutX(115);
reference.setLayoutY(480);
reference.setMaxWidth(500);
control.getChildren().add(reference);
Run Code Online (Sandbox Code Playgroud)

Ita*_*iha 7

JavaFX中的Text和TextFlow不是"可选择的".

有一个问题是开放的:文本应该有API,用于根据类似于DOM的Range的位置选择字符组.

在问题得到解决之前,您最好的选择是使用像RichTextFX这样的第三方控件.

  • 我做了一些实验。“WebView”似乎不会渲染一些特殊字符,例如表情符号,甚至许多在“TextFlow”中工作正常的字符,但也非常重,如果您尝试将其用作列表单元格,这可能是一个问题(我是)。“RichTextFX”有一个不同的问题 - 它在自身周围添加了一个滚动窗格,使得访问确定实际高度所需的信息变得非常困难,以便您可以正确设置视图本身的高度。但阅读其代码,它使用“TextFlow”进行实际渲染,因此选择必须是可能的。 (2认同)