总的来说,我希望将显示的JPanel绘制到bufferedImage上并将其保存到文件中。但是我很难理解如何引用我正在绘制的JPanel。
我的类扩展了JPanel,我正在绘制它,但我从未明确定义JPanel对象,除了我想在我的main方法中(当我将它添加到JFrame时),但这显然是在一个不同的类中。我如何引用我在扩展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);
}
我希望这个问题有道理。我知道我听起来像个新手,因为我是。请帮我。谢谢!
答案 0 :(得分:1)
我认为
createImage(YourClassName.this)
作品