JavaFX 8 可以自动省略从右侧开始的标签文本。例如,如果有一个句子“回答你自己的问题”,它可能会被省略为“回答你自己的问题...”,因为没有足够的空间来完整地显示该句子。
但是现在,我想省略左侧文本,而不是右侧文本。例如,如果有一个句子“回答你自己的问题”,我想将其省略为“...我们自己的问题”。
在 Android 上,可以通过在 XML 文件中设置 TextView 的 ellipsize 属性来轻松实现,但在 JavaFX 上,我不知道这样做。
最佳答案
使用
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 作为选择器。)
关于JavaFX 8 如何从左侧而不是右侧设置标签省略号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26958699/