Оцените количество пикселей с учетом размера шрифта и семейства шрифтов в Java
У меня есть пользовательская строка. Я могу иметь динамическую длину, размер шрифта и семейство шрифтов. Как только я узнаю, сколько пикселей займет этот текст, я смогу обрезать его, если он не помещается в родительский элемент.
Здесь я не могу нарисовать строку или поле, пока я оцениваю пиксели, но у меня есть вся информация, такая как размер шрифта и семейство шрифтов. Я использую Java.
2 ответа
Если вам нужна длина вашего String
на основе label
Вы можете работать с:
lYourLabel.getFontMetrics(lYourLabel.getFont()).stringWidth("Hello World");
Я использую этот метод, чтобы вырезать отображаемую строку и расширить ее с помощью "..." внутри изменяемого размера TableColumn
,
Вот пара методов, которые я использую для такого рода вещей:
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();
}