全体として、表示された 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);
}
この質問が理にかなっていることを願っています。私は初心者のように聞こえることを知っています。それは私が初心者だからです。私を助けてください。ありがとう!