如何解决选择仅适用于 TextFlow 中的第一个 Text 节点
我目前有一个 TextFlow,将文本节点和其他类型的节点放入其中,我正在尝试使用鼠标和键事件使文本可选择,但方法 setSelectionStart 和 setSelectionEnd 似乎没有按照他们应该的方式行事,就像它适用于第一个 Text 节点但不适用于其他
这是一个最小的可重现示例:
@Override
public void start(Stage ps) {
TextFlow flow = new TextFlow();
flow.setPadding(new Insets(10));
Text t1 = new TextNode("first ");
Text t2 = new TextNode("second ");
Text t3 = new TextNode("third");
t1.setSelectionStart(2);
t1.setSelectionEnd(6);
t2.setSelectionStart(0);
t2.setSelectionEnd(4);
flow.getChildren().addAll(t1,t2,t3);
ps.setScene(new Scene(flow,400,300));
ps.show();
}
private class TextNode extends Text {
public TextNode(String s) {
super(s);
setFont(Font.font(18));
setSelectionFill(Color.RED);
}
}
我基本上是在创建一个 TextFlow 并在其中插入 3 个 Text 节点,我希望能够在第一个和第二个 Text 节点之间进行选择,但它不起作用,请参阅下面的屏幕截图
docs 表示
当 Text 节点位于 TextFlow 内部时,其某些属性将被忽略
但我似乎没有找到在 Text 节点之间进行连续选择的正确方法,请注意,我无法将它们加入单个 Text 节点中,因为它们之间可能存在非文本节点,任何帮助将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。