2

我有一个自定义字符串。我可以有动态长度、字体大小和字体系列。一旦我知道该文本将占用多少像素,如果它不适合其父级,我将能够截断它。

在这里,我在评估像素时无法绘制字符串或框,但我拥有所有信息,如字体大小和字体系列。我正在使用java。

4

2 回答 2

1

如果您需要String基于的长度label,您可以使用:

lYourLabel.getFontMetrics(lYourLabel.getFont()).stringWidth("Hello World");

我正在使用该方法剪切显示的 String 并在 resizable 中使用“...”扩展它TableColumn

于 2015-12-10T12:51:01.820 回答
0

这是我用于此类事情的几种方法:

public static int getTextWidth(Font font, String text) {
    FontMetrics metrics = new FontMetrics(font) {};
    Rectangle2D bounds = metrics.getStringBounds(text, null);
    return (int) bounds.getWidth();
}

public static int getTextHeight(Font font, String text) {
    FontMetrics metrics = new FontMetrics(font) {};
    Rectangle2D bounds = metrics.getStringBounds(text, null);
    return (int) bounds.getHeight();
}
于 2015-12-10T13:27:09.920 回答