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