画面に描画する必要があるものがありますが、正しく描画するにはフォント メトリックが必要です。また、 repaint() などを使用して、その場で画面に描画する必要もあります。
メソッドがあればpaintComponent(Graphics)
、 を介してフォント メトリックを正しく取得できますg.getFontMetrics(g.getFont())
。問題は、自分自身をペイントするように指示できないことです。コンポーネントのサイズ変更などの何かが発生した場合にのみ実行されます。
次に、通常のみを使用すると、必要なときに描画するために使用できますが、呼び出しpaint(Graphics)
は正しい値を返しません。何か案は?repaint()
g.getFontMetrics(g.getFont())
repaint();//I need to call repaint() or something similar to draw to the screen when I want it to
public void paint(Graphics g){
FontMetrics metrics = g.getFontMetrics(g.getFont());//Returns different metrics than that of paintComponent(Graphics)
}
public void paintComponent(Graphics g){
FontMetrics metrics = g.getFontMetrics(g.getFont());//Returns different metrics than that of paint(Graphics)
}