ゲームを作っているのですが、メニューの画面中央にテキストを表示したいです。Javaで、指定されたサイズとスタイルの指定されたフォントでテキストの幅を取得/計算する方法はありますか?
Martijn
このFontMetrics.stringWidth
メソッドはまさにそれを実行します-指定されたの幅をピクセル単位で返しString
ます。
メソッドによってオブジェクトFontMetrics
からを取得できます。Graphics
getFontMetrics
例えば:
g.setFont(new Font("Serif", Font.BOLD, 24));
int width = g.getFontMetrics().stringWidth("Hello World!");
System.out.println(width);
結果は次のとおりです。
135
Fontクラスには、getLineMetricsやgetStringBoundsなどのメソッドがあります。
中央揃えの JLabel と適切なレイアウト マネージャーを使用するだけで、これについて心配する必要はありません。
JLabel label = new JLabel("Text");
frame.add(label , SwingConstants.CENTER);