确定是否已切断JLabel文本?

时间:2019-05-10 18:46:14

标签: java swing text jframe jlabel

我有一个JLabel,随着JFrame窗口的扩展,字体大小会自动更改。 JLabel中的文本可以缩写,也可以像这样全文输入:

Small and Large Window Exmaple

因为我将Eclipse的“ AbsoluteLayout”用于Swing("hello how are you" %>% str_remove(c("hello","how")) [1] "how are you" "hello are you" ),所以JLabel不会自动将其大小调整为文本大小,并且是固定值。请注意,随着窗口更改大小,我确实更改了这些固定值。我已经有一个算法了。

我不想做大量的计算来确定窗口是否足够大以显示未缩写的文本,而是想知道是否有一种方法可以确定我的文本是否会像这样显示:

Cut off JLabel text

如果我知道文本会被截断(由于在小JLabel中的长文本),我可以缩写文本,否则将其完整显示。

在仍然使用AbsoluteLayout的同时有什么方法可以做我要问的吗?

注意:我必须使用AbsoluteLayout,因此即使通常被认为是不好的做法,也不要打扰评论。

1 个答案:

答案 0 :(得分:1)

  

如果我知道文本会被截断(由于在小JLabel中的长文本),我可以缩写文本,否则将其完整显示。

比较getPreferredSize()getSize()的宽度。