JavaFX 8如何从左侧而不是从右侧设置标签的省略号?

时间:2014-11-16 15:38:15

标签: java javafx javafx-8

JavaFX 8可以自动省略标签文本在右侧开始的文本。例如,如果有一个句子'回答你自己的问题',它可以省略为“回答你自己的问题...'因为没有足够的空间来完整地显示句子。

但是现在,我想要缩小左侧文本,而不是右侧。例如,如果有一个句子'回答你自己的问题',我想把它简化为......我们自己的问题'。

在Android上,可以通过在XML文件中设置TextView的ellipsize属性轻松实现,但在JavaFX上,我不知道这样做。

1 个答案:

答案 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作为选择器。)