Как рассчитать ширину строки в px?

#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() .