是否有函数可以找到 space 按钮内的文本在 Java 中将占用任何字体大小、样式等的数量?

Is there a function to find the amount of space a text inside a button will take up with any font size, style etc., in Java?

正如标题所说,我想知道是否有一个函数可以为我提供一个 x 和 y 值,表示 space 文本将占用多少,以便我可以相应地调整按钮的大小。如果没有,请给我一个代码片段,你可能需要做同样的工作。

您可以使用FontMetricsclass,例如:

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");

或者...使用上面提供的 link 中显示的示例。