#java #swing #graphics
#java #качать #графика
Вопрос:
Как рассчитать ширину строки в px? У меня есть панель, и я пытаюсь сделать так (эта ссылка на JPanel)
FontMetrics gp = this.getGraphics().getFontMetrics();
int x=gp.stringWidth("test");
но getGraphics всегда возвращает null, потому что panel еще не видна. Как решить эту проблему?
Комментарии:
1. забудьте о методе component.getGraphics() — он вам не нужен: либо у вас уже есть графический объект (передаваемый в качестве параметра, например, в paintComponent), который вы должны использовать, либо он вам не нужен 😉
Ответ №1:
Вы должны сделать это в одном из методов paint()
or paintComponent()
, где существует Graphics
экземпляр.
Или вы можете создать BufferedImage
и вызвать getGraphics()
.