java - 是否有一个函数可以在 Java 中查找按钮内的文本将占用任何字体大小、样式等的空间量?
问题描述
正如标题所说,我想知道是否有一个函数可以给我一个 x 和 y 值来表示文本将占用多少空间,这样我就可以相应地调整按钮的大小。如果没有,您能否给我一个代码片段,您可能需要做同样的工作。
解决方案
您可以使用FontMetrics类,例如:
public static int getTextWidth(Font font, String text) {
FontMetrics metrics = new FontMetrics(font) {
private static final long serialVersionUID = 345265L;
};
Rectangle2D bounds = metrics.getStringBounds(text, null);
return (int) bounds.getWidth();
}
public static int getTextHeight(Font font, String text) {
FontMetrics metrics = new FontMetrics(font) {
private static final long serialVersionUID = 345266L;
};
Rectangle2D bounds = metrics.getStringBounds(text, null);
return (int) bounds.getHeight();
}
要使用这些方法(可能在您的用例中):
int width = getTextWidth(jButton1.getFont(), "Hello There World");
int height = getTextHeight(jButton1.getFont(), "Hello There World");
或者...使用上面提供的链接中显示的示例。
推荐阅读
- python - 无法使用 Pytorch 从谷歌 AI 平台获取预测
- ios - 无法为 iOS xCode 项目安装 Firebase
- go - 谷歌云函数默认环境变量未设置
- c# - 创建实体时的表名(包含/正则表达式) - 实体框架 - 表前缀
- c++ - vector.push_back(vector.back()+1) 是未定义的行为吗?
- pine-script - 我怎样才能把这个 PineScript 输入变成一个可用的函数?
- powershell - 为 powershell 中的参数提供值
- android - 知道链接从 Firebase 存储下载图像
- javascript - 用于生成 Object 的随机实例的 JavaScript 函数
- go - Webpush 通知链接在桌面上不起作用