画像を読み込むJPanelがあります。
画像の幅と高さはJPanelと同じではないので、画像のサイズを変更してJPanelに合わせたいと思います。
この記事を読んでください、Image.getScaledInstance()の危険
それでも希望する場合は、次のようなものを使用できます。
Image scaledImage = originalImage.getScaledInstance(jPanel.getWidth(),jPanel.getHeight(),Image.SCALE_SMOOTH);
これは、おそらくこの回答で説明されているように、画像をJPanelにロードする前に行います。
私はこれがかなり古いことを知っています、しかし多分これは他の人々を助けます
通常のJLabelの代わりにこのクラスを使用し、setIcon(#);を使用するときにImageIconを渡します。
private class ImageLabel extends JLabel{
private Image _myimage;
public ImageLabel(String text){
super(text);
}
public void setIcon(Icon icon) {
super.setIcon(icon);
if (icon instanceof ImageIcon)
{
_myimage = ((ImageIcon) icon).getImage();
}
}
@Override
public void paint(Graphics g){
g.drawImage(_myimage, 0, 0, this.getWidth(), this.getHeight(), null);
}
}