当前位置: 首页 > 面试题库 >

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

西门飞星
2023-03-14
问题内容

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

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

编辑:

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

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


问题答案:

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

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



 类似资料:
  • 我对Java真的很陌生,我想做一个简单的GUI,上面有一个按钮,当你点击它的时候就会有价值,我在YouTube上学习了这个教程。一切都很顺利。但有一点没有,即文本的结尾从一个数字()变为。手动调整窗口的大小会使数字返回,所以我尝试在它启动时在代码中调整字体、窗口、按钮和标签的大小,这确实起作用,但仍然会遇到同样的问题。 这是我的按钮代码: ...我相信它会称之为: 我在其他问题上试过一些其他的解决

  • 问题内容: 因此,我在大学期间正在学习有关HTML列表的知识,这位教授说与其他标记(如和)一起没有结尾标记。那是正确的吗?因为最后我看到了很多使用tag的模板/主题,还有许多网站也教您存在,所以我不确定该相信谁以及正确的使用方式是什么? 我问这个问题的原因是因为上次我们了解了标记,他说,当您将鼠标悬停在该属性上时,该属性会为您提供一个显示在图像上方的文本,当我在此处询问该属性时,它仅是替换图像的替

  • 我只是一个初学者,正在学习、和。我写了一个简单的代码,按下按钮后你应该会看到某个标签。当我在IntelliJ或Eclipse中运行代码时,一切都很好,但是在将其导出为JAR并打开后,文本和图像大小会发生变化。

  • 问题内容: 如标题所示,我想从PDF中过滤出超过特定字体大小的所有文本。当前,我正在使用PDFBox库,但可以使用其他任何Java免费库。 我的方法是使用PDFStreamParser遍历令牌。当我通过大小大于阈值的Tf运算符时,不要添加下一个看到的Tj / TJ。但是,对我来说很清楚,这种相对简单的方法将不起作用,因为文本可能会被当前的转换矩阵缩放。 有没有我可能会采用的更好的方法,或者使我的方

  • 我有一个JLabel,随着JFrame窗口的扩展,字体大小会自动改变。JLabel中的文本可以缩写,也可以放入全文,如下所示: 因为我对Swing使用了Eclipse的“AbsoluteLayout”(),所以JLabels不会自动调整到文本的大小,而是固定值。请注意,我确实会随着窗口大小的改变而改变这些固定值。我已经有了一个算法。 我想知道是否有一种方法来确定我的文本是否会显示成这样,而不是进行

  • 问题内容: 作为测试的一部分,该系统应该确定用于打开网站的设备是移动设备还是普通台式机。 我不断收到错误: “ InvalidSelectorError:无法使用xpath表达式// * [包含(@class,is-mobile … 萤火虫的属性: 我的测试: 有人可以告诉我正确的XPath应该是什么吗? 问题答案: 您似乎缺少右括号和右括号: 更改此: 变成这个: 附带说明一下,请考虑到此代码还