1

全体として、表示された JPanel を bufferedImage に描画し、ファイルに保存しようとしています。しかし、ペイントしている JPanel を参照する方法を理解するのに苦労しています。

私のクラスはJPanelを拡張し、それを描画していますが、メインメソッド(JFrameに追加するとき)で推測する場合を除いて、JPanelオブジェクトを明示的に定義することはありませんが、これは明らかに別のクラスにあります。JPanel を拡張するクラスで暗黙的に描画している JPanel を参照して、にパラメータとして渡すことができるようにするにはどうすればよいですか。

public static BufferedImage createImage(JComponent component)//<---JPanel をここに渡してバッファリングされたイメージを作成し、ImageIO.write() を使用してファイルを保存します。{次元d = component.getSize();

    if (d.width == 0 || d.height == 0)
    {
        d = component.getPreferredSize();
        component.setSize( d );
    }

    Rectangle region = new Rectangle(0, 0, d.width, d.height);
    return ScreenImage.createImage(component, region);
}

この質問が理にかなっていることを願っています。私は初心者のように聞こえることを知っています。それは私が初心者だからです。私を助けてください。ありがとう!

4

1 に答える 1

1

と思います

createImage(YourClassName.this)

作品

于 2012-04-05T01:33:44.823 に答える