1

Java で JPanel に画像を描画しようとしていますが、うまくいきました。私の問題は、ウィンドウのフルサイズに合わせようとしていますが、そうしていません。私は方法を試しましたが、画像が消えるか、グラフィックの変化がまったくありません。

私が現在取り組んでいるコード:

class ImagePanel extends JPanel {
    private static final long serialVersionUID = 1L;

    private Image img;

    public ImagePanel(String img) {
        this(new ImageIcon(img).getImage());
    }

    public ImagePanel(Image img) {
        this.img = img;
        Dimension size = new Dimension(img.getWidth(null), img.getHeight(null));
        setPreferredSize(size);
        setMinimumSize(size);
        setMaximumSize(size);
        setSize(size);
        setLayout(null);
    }

    public void paintComponent(Graphics g) {
        g.drawImage(img, 0, 0, null);
    }
}

完全なクラス: http://pastebin.com/CpcBt2j8

at などのコードを追加しようとしましimg = img.getScaledInstance(440, 440, Image.SCALE_SMOOTH)たが、まったく効果がありません。また、 という新しい画像を作成し、の値をそれにscaledImg設定してみました。これにより、画像が表示から完全に削除されます。imggetScaledInstance

画像を必要なサイズに拡大するにはどうすればよいですか?

4

2 に答える 2

1

使用する画像を動的にスケーリングするには:

//g.drawImage(img, 0, 0, null);
g.drawImage(image, 0, 0, getWidth(), getHeight(), null);

タイリング機能を含む完全な実装については、背景パネルを参照してください。

于 2013-10-29T03:19:50.427 に答える