小编典典

找出JLabel的文本是否超过标签大小

java

在Java中,由于空间不足而无法显示JLabel的文本时,文本将被截断并在末尾添加“ …”。

如何轻松找出当前JLabel是显示全文还是被截断?


编辑:

我看到有一种方法可以使用来找出文本的大小FontMetrics。但是,此解决方案无法完全回答问题。如果JLabel的文本包含HTML装饰,则metrics.stringWidth()还将计算HTML标签的宽度。因此,可能发生的结果metrics.stringWidth()是比JLabel的宽度更大,但仍然可以正确显示文本。

有没有办法知道在显示文本时JLabel自己做出了什么决定。是否决定截断文本。


阅读 223

收藏
2020-09-21

共1个答案

小编典典

标签的UI委托(通常是的子类)添加省略号BasicLabelUI,作为其布局和首选尺寸计算的一部分。如layoutCL()示例所示,可以重写该方法以检查几何形状。

实际上,我会忽略省略号,并在工具提示中显示全文。

2020-09-21