1

总的来说,我希望将显示的 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);
}

我希望这个问题是有道理的。我知道我听起来像个新手,这是因为我是。请帮我。谢谢!

4

1 回答 1

1

我觉得

createImage(YourClassName.this)

作品

于 2012-04-05T01:33:44.823 回答