java - 如何在 Java 中获取特定于字体和大小的文本长度?
问题描述
因此,Stackoverflow 上还有其他一些帖子,例如计算 Java 中字符串的显示宽度以及如何计算特定字体和大小的字符串长度(以像素为单位)?但是第一个只根据一些预先确定的字体和大小来计算字符串的宽度,而后者是在 Python 中。
基本上我的目标是我想制作一个有用户名的应用程序,并且上面的 JLabel 正是文本的长度。由于我在设计程序时不知道用户名是什么,所以我不知道它有多远,但我想知道如何使用指定的字体和大小计算文本的宽度(然后我已经知道如何调整 JLabel 的大小)。
有任何想法吗?谢谢!
解决方案
不要试图计算标签的大小!!!
而上面的JLabel正是文本的长度。
这正是 JLabel 工作方式的默认行为。
每个 Swing 组件负责根据组件的属性确定自己的首选大小。
在 JLabel 的情况下,它将查看字体、文本边框等以确定它的首选大小。
然后,您只需使用适当的布局管理器将标签添加到框架,标签将以其首选大小显示。
阅读有关布局管理器的 Swing 教程,以便您可以使用适当的布局管理器以首选大小显示您的标签。
推荐阅读
- javascript - 如何正确发送文件到 axios?
- javascript - 在 d3 中用不同的颜色在一个散点图矩阵中可视化两个数据集
- javascript - d3.csv(...).then 不是函数
- azure - Azure 函数和实体框架
- java - Apache HTTP 客户端 connectTimeout 与 connectionRequestTimeout
- azure - 如何在不暴露源代码的情况下部署到 Azure?
- sql - ORM与外键中的可选列的一对多关系?
- unity3d - Unity+PUN: "Instantiate" sometimes creates too many GameObjects
- php - 函数在 PHP 中不返回任何内容
- azure-cosmosdb - 嵌套集合中的 Azure 搜索选择