gpt4 book ai didi

java - 查明 JLabel 的文本是否超过标签大小

转载 作者:太空狗 更新时间:2023-10-29 22:45:38 26 4
gpt4 key购买 nike

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

我怎样才能轻松找出当前 JLabel 显示的是全文还是截断的文本?


编辑:

我看到有一种方法可以使用 FontMetrics 找出文本的大小。然而,这个解决方案并没有完全回答这个问题。如果 JLabel 的文本包含 HTML 装饰,metrics.stringWidth() 也会计算 HTML 标签的宽度。因此,metrics.stringWidth() 的结果可能会大于 JLabel 的宽度,但文本仍会正确显示。

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

最佳答案

省略号由标签的 UI 委托(delegate)添加,通常是 BasicLabelUI 的子类,作为其布局和首选尺寸计算的一部分。可以覆盖方法 layoutCL() 以检查几何图形,如本 example 所示。 .

实际上,我会忽略省略并在工具提示中显示完整文本。

关于java - 查明 JLabel 的文本是否超过标签大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7971178/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com