私のフレーム/コンポーネントに大きな "hello world"をペイントしようとしています。 しかし、私はそれを動的にウィンドウサイズに合わせたいと思っています。だから毎回私はウィンドウのサイズを完全に合わせる必要がありますウィンドウのサイズを変更します。Java:ペイントされたテキストをウィンドウに動的にフィットさせる方法
私はFontMetricsクラスを使用してフォントを割り当て、文字の幅と高さを測定します。
しかし、コンポーネントのサイズをテキストで渡して、メソッドが使用する必要のあるフォントを返すことをお勧めします。まあ、特定のフォントのフォントサイズで十分でしょう。このような
何か:
public int getFontSizeForDrawArea(int width, int height, String text, Font font) {
//Pseudo class FontMeasureClass takes a font to do the measures with
FontMeasureClass measure = new FontMeasureClass(font);
// method takes size of frame/component and text to return the needed
// font size to fit text to frame/component
return measure.getFontSize(width, height, text);
}
私はサイズがwidht窓や高さにかなり限り近くなるまで、ループの中でしようとすると、テキストの大きさを測定する方法を行うことを考えます。しかし、おそらく何か使用する準備ができています。ピクセル単位で、あなたの文字列の幅を測定する
でも、返された幅がウィンドウの幅に最も近い場合、ループを通過して停止する必要があります。 – NovumCoder
はい。ループは簡単に作成できます。私は他の方法を知らない。 –
なぜ元の回答を編集するのではなく、同じ人が2つの回答を返すのですか? –