我有一个JLabel,随着JFrame窗口的扩展,字体大小会自动更改。 JLabel中的文本可以缩写,也可以像这样全文输入:
因为我将Eclipse的“ AbsoluteLayout”用于Swing("hello how are you" %>% str_remove(c("hello","how"))
[1] "how are you" "hello are you"
),所以JLabel不会自动将其大小调整为文本大小,并且是固定值。请注意,随着窗口更改大小,我确实更改了这些固定值。我已经有一个算法了。
我不想做大量的计算来确定窗口是否足够大以显示未缩写的文本,而是想知道是否有一种方法可以确定我的文本是否会像这样显示:
如果我知道文本会被截断(由于在小JLabel中的长文本),我可以缩写文本,否则将其完整显示。
在仍然使用AbsoluteLayout的同时有什么方法可以做我要问的吗?
注意:我必须使用AbsoluteLayout,因此即使通常被认为是不好的做法,也不要打扰评论。
答案 0 :(得分:1)
如果我知道文本会被截断(由于在小JLabel中的长文本),我可以缩写文本,否则将其完整显示。
比较getPreferredSize()
和getSize()
的宽度。