0

我有一个TextFlow在 aStackPane里面的里面ScrollPane。我正在为此添加不同颜色的文本TextFlow

Text txt = new Text(msg);
txt.setFill(Paint.valueOf(color));
txtFlow.getChildren().add(txt);

我想滚动到文本流中的某个特定点。

例如蓝色的第一个文本。

我知道我可以获取文本并检查颜色。但是我怎样才能向下滚动到那个特定的位置呢?

我可以通过 实现这种功能TextFlow吗?只是我试图在JavaFX. 并想穿越差异。

4

2 回答 2

1

使用免费的样式文本编辑器之一 - 它们都在内部使用 ListView 或 VirtualView。有关示例,请参见https://github.com/TomasMikula/RichTextFX/wiki/JavaFX-Controls-for-Code-Editing

于 2014-09-17T07:04:25.123 回答
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;");

我希望这对你有所帮助。如果我误解了你的问题,我很抱歉。

和平

于 2014-09-16T11:34:40.510 回答