JavaFX中的自动文本换行

时间:2016-08-18 18:40:03

标签: java javafx

我已经尝试过谷歌/搜索Stack Overflow,但没有找到可行的解决方案。

我目前正在尝试实施一个简单的聊天客户端。我有一个显示消息的问题。我目前使用流程图,根据消息添加文本和图像视图。以下是我的聊天窗口现在的样子:demo

这也是我希望聊天窗口看起来的样子。在这种情况下,我添加了三个包含“This is a.Ssdg”的文本,“这是test2”“这是test4”到我的流程图中。由于“这是test4”不再适合我的窗口,它被正确包裹/推到下一行,这正是我想要的。我现在的问题是当我有很长的文本块时,它看起来像这样:demo

文字比我的窗口长,但它没有环绕,它只是继续通过可见部分。我希望它能在正确的位置换行,这样我的窗口之外就没有文字了。使用

t.setWrappingWidth(...)

不起作用,因为我的主窗口可以调整大小,因此它没有固定的宽度。使用:

t.wrappingWidthProperty.bind(boundingbox.widthProperty())

当组件尚未呈现时,as.widthProperty()也为0。作为一个非常低效的解决方案,将每个字母作为单独的文本添加,但它有点慢。我正在寻找一种有效的方法来在正确的位置换行更长的文本。调整大小时不一定要动态调整,只是新添加的聊天应该具有正确的格式。

1 个答案:

答案 0 :(得分:0)

这可能就是你在寻找什么

https://github.com/TomasMikula/RichTextFX

几个月前使用上面的ChatClient应用程序。您可以查看代码:

https://sourceforge.net/projects/xr3chat/