2011-05-08 105 views
0

我有一个画在一个paintComponent()方法绘制所有东西。如何在paintComponent外绘制?

是否有可能得出的paintComponent之外(不调用内paintComponent的方法?)

如果是这样,你如何去这样做呢?

回答

2

这取决于你的意思,你为什么需要它。例如,它是可能创建一个BufferedImage,获取Graphics2D对象,Graphics.paint()应该在图像上的所有内容,然后将图像放入JLabel

但因为我不知道你想实现(而不是你正在尝试做)我不知道如果答案解决了不成文的问题。

-1

我发现了如何解决这个问题。

我所做的就是让JPanel成为我的JFrame类的内部类。

在JPanels paintComponent中,我通过传递paintComponents Graphics2D对象,从外部类中调用了一些更新图形的方法。

这让我可以画paintComponent的“外部”,就像我需要的一样。

+2

你永远不要这样做。所有绘画代码应该包含在paintComponent()方法或由paintComponent()方法调用的子方法中。你不应该直接调用这个子方法。如果你认为你需要这样做,那么你的程序设计错误。 – camickr 2011-05-08 15:09:00

相关问题