在java中评估给定font-size和font-family的像素数

时间:2015-12-10 12:45:06

标签: java font-size fontmetrics

我有一个自定义字符串。我可以有动态长度,font-size和font-family。一旦我知道这个文本将占用多少像素,我就可以截断它,如果它不适合它的父文件。

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

2 个答案:

答案 0 :(得分:1)

如果您根据String需要label的长度,则可以使用:

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

我正在使用该方法剪切显示的字符串并使用" ..."在可调整大小的TableColumn内。

答案 1 :(得分: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();
}