我有一个 JLabel,当 JFrame 窗口扩展时,字体大小会自动更改。 JLabel 中的文本可以缩写,也可以输入全文,如下所示:
因为我使用 Eclipse 的 Swing“AbsoluteLayout”(frame.getContentPane().setLayout(null)
),所以 JLabels 不会自动调整为文本大小,并且是固定值。请注意,随着窗口大小的变化,我确实更改了这些固定值。我已经有一个算法。
我不想进行大量计算来确定窗口是否足够大以显示未缩写的文本,而是想知道是否有一种方法可以确定我的文本是否会像这样显示:
如果我知道文本将被截断(由于小 JLabel 中的长文本),我可以缩写文本,否则完整显示它。
有什么方法可以在仍然使用 AbsoluteLayout 的同时完成我所要求的操作吗?
注意:我有必要使用 AbsoluteLayout,因此不必费心评论它,即使它通常被认为是不好的做法。
最佳答案
If I could know that the text would be cut off (due to long text in a small JLabel), I could abbreviate the text, otherwise display it in full.
比较 getPreferredSize()
和 getSize()
的宽度。
关于java - 判断JLabel文本是否被截断?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56083275/