首页 > 解决方案 > 如何在 Java 中获取特定于字体和大小的文本长度?

问题描述

因此,Stackoverflow 上还有其他一些帖子,例如计算 Java 中字符串的显示宽度以及如何计算特定字体和大小的字符串长度(以像素为单位)?但是第一个只根据一些预先确定的字体和大小来计算字符串的宽度,而后者是在 Python 中。

基本上我的目标是我想制作一个有用户名的应用程序,并且上面的 JLabel 正是文本的长度。由于我在设计程序时不知道用户名是什么,所以我不知道它有多远,但我想知道如何使用指定的字体和大小计算文本的宽度(然后我已经知道如何调整 JLabel 的大小)。

有任何想法吗?谢谢!

标签: javaswingfontsjframetext-size

解决方案


不要试图计算标签的大小!!!

而上面的JLabel正是文本的长度。

这正是 JLabel 工作方式的默认行为。

每个 Swing 组件负责根据组件的属性确定自己的首选大小。

在 JLabel 的情况下,它将查看字体、文本边框等以确定它的首选大小。

然后,您只需使用适当的布局管理器将标签添加到框架,标签将以其首选大小显示。

阅读有关布局管理器的 Swing 教程,以便您可以使用适当的布局管理器以首选大小显示您的标签。


推荐阅读