文本太长时创建滚动文本

时间:2015-06-05 16:57:28

标签: css javafx javafx-2 javafx-8 horizontal-scrolling

我有一个动态构建的字符串,有时太长,但仍需要完全显示给用户。我宁愿让文本滚动而不是为它创建工具提示。

我用这个创建了一个标签:

Label text = new Label("hello there i hope this text is long enough to take up space");
TranslateTransition tran = new TranslateTransition(Duration.millis(75000));
tran.setNode(text);
tran.setByX(-400);
tran.setInterpolator(Interpolator.LINEAR);
tran.setCycleCount(Timeline.INDEFINITE);
// add the text
tran.play();

其中一个,当我这样做时,如果文本是"this is really long"并且它缩短为"this is really...",那么当标签滚动时,文本仍为"this is really..."。另一件事是它滚动标签,改变元素的x位置。有没有办法只更改滚动实例的文本?

另外,有没有办法以编程方式确定给定文本是否对指定区域来说太大?