0
私はpaintComponentメソッドを使って画像を描画する方法を知っていますが、問題があります: フレームのサイズを変更すると画像は同じサイズになりますが、フレームのサイズを大きくするとサイズが大きくなり、フレームのサイズを小さくするとサイズが小さくなります。パネルに相対的なサイズの画像を描画する
マイコード:
@Override
public void paintComponent(Graphics graphics) {
Graphics2D g = (Graphics2D) graphics;
g.drawImage(myImage, x, y, myWidth, myHeight, null);
}
私はJPanelのクラスののgetWidthとのgetHeightメソッドを使用する必要があることを確信しているが、私は私が行う必要が数学を知りません。
誰かが私を助けてくれることを願っています!
PS:私の悪い英語のため申し訳ありませんが...その代わりpaintComponentsでこのコードを書くの
画像の相対的な大きさ(フレーム幅の80%など)をどれくらいにするかを選択する必要があります([scale it](http://stackoverflow.com/questions/1729887/little-math-help -for-image-resize-needed)。 – BackSlash
JPanelのgetPreferredSizeをオーバーライドし、SSCCE/MCVEフォームの – mKorbel
に例を示します。「JPanelクラスのgetWidthメソッドとgetHeightメソッドを使用する必要があると確信しています。これらのメソッドを使用するようにコードを変更してください。また、drawImage(...)メソッドの最後のパラメーターに "null"の代わりに "this"を使用する必要があります。 – camickr