JavaFX 8可以自动省略标签文本在右侧开始的文本。例如,如果有一个句子'回答你自己的问题',它可以省略为“回答你自己的问题...'因为没有足够的空间来完整地显示句子。
但是现在,我想要缩小左侧文本,而不是右侧。例如,如果有一个句子'回答你自己的问题',我想把它简化为......我们自己的问题'。
在Android上,可以通过在XML文件中设置TextView的ellipsize属性轻松实现,但在JavaFX上,我不知道这样做。
答案 0 :(得分:5)
使用
label.setTextOverrun(OverrunStyle.LEADING_ELLIPSIS);
或
label.setTextOverrun(OverrunStyle.LEADING_WORD_ELLIPSIS);
取决于您想要的确切行为。 (Documentation is here.)
您也可以在FXML中执行此操作:
<Label text="Answer your own question" textOverrun="LEADING_ELLIPSIS"/>
甚至在css中:
.label {
-fx-text-overrun: leading-ellipsis ;
}
(后者将为所有标签设置文本溢出;如果要将其应用于一个标签,则可以使用id作为选择器。)