我TextFlow
内的StackPane
位于ScrollPane
内。我正在为此TextFlow
Text txt = new Text(msg);
txt.setFill(Paint.valueOf(color));
txtFlow.getChildren().add(txt);
我想滚动到文本流中的某个特定点。
e.g。第一个蓝色的文字。
我知道我可以得到文字并检查颜色。但是,我怎样才能向下滚动到那个特定位置?
我可以通过TextFlow
实现这种功能吗?
我只是想在JavaFX
中建立差异视图。并希望穿越差异。
答案 0 :(得分:1)
我会使用ListView并将一些堆栈窗口或文本直接放入其中。
Text content = new Text("Custom Text");
content.setFill(Color.valueOf(yourcolor));
ListView<Text> list = new ListView<Text>();
list.add(content);
由于...
这里有一个空scrollTo()
,你可以直接通过Text对象滚动到项目,也可以通过索引(int)滚动到项目。
要在列表视图中获得透明背景,您可以使用:
list.setStyle("-fx-background-color: transparent;");
我希望这有助于你。 如果我不理解你的问题,我很抱歉。
和平
答案 1 :(得分:1)
使用其中一个免费样式的文本编辑器 - 它们都在内部使用ListView或VirtualView。有关示例,请参阅https://github.com/TomasMikula/RichTextFX/wiki/JavaFX-Controls-for-Code-Editing