У меня есть объект GUIText, который имеет строковый текст, шрифт, стиль шрифта, цвет и декор (подчеркивание, надпись, зачеркивание). Я могу использовать этот метод, чтобы получить ширину GUIText, в соответствии с его текстом и шрифтом:Java - Точная высота шрифта без графики
public int getWidth() {
return Display.getCanvas().getFontMetrics(this.font.toJavaFont()).stringWidth(
this.text);
}
(Display.getCanvas() возвращает JComponent).
Я знаю о getFontMetrics(). GetHeight(), но это возвращает число слишком большое. На самом деле font.getSize() ближе к фактической высоте, чем getFontMetrics(). GetHeight(), но не является точным. Мне нужно это знать, поэтому я могу нарисовать линию над GUIText для украшения сверху.
FontMetrics # GetHeight будет возвращать общую высоту шрифта (от heightest до самой низкой точки шрифта), если нет, то это обычно означает, что шрифт не предоставление правильной метрической информации – MadProgrammer
Вы также должны ознакомиться с [Работа с текстовыми API-интерфейсами] (http://docs.oracle.com/javase/tutorial/2d/text/index.html) для получения дополнительной информации о том, как шрифты измеренные и рендереры – MadProgrammer