我有一个画在一个paintComponent()
方法绘制所有东西。如何在paintComponent外绘制?
是否有可能得出的paintComponent
之外(不调用内paintComponent
的方法?)
如果是这样,你如何去这样做呢?
我有一个画在一个paintComponent()
方法绘制所有东西。如何在paintComponent外绘制?
是否有可能得出的paintComponent
之外(不调用内paintComponent
的方法?)
如果是这样,你如何去这样做呢?
这取决于你的意思,你为什么需要它。例如,它是可能创建一个BufferedImage
,获取Graphics2D
对象,Graphics.paint()
应该在图像上的所有内容,然后将图像放入JLabel
。
但因为我不知道你想实现(而不是你正在尝试做)我不知道如果答案解决了不成文的问题。
我发现了如何解决这个问题。
我所做的就是让JPanel成为我的JFrame类的内部类。
在JPanels paintComponent中,我通过传递paintComponents Graphics2D对象,从外部类中调用了一些更新图形的方法。
这让我可以画paintComponent的“外部”,就像我需要的一样。
你永远不要这样做。所有绘画代码应该包含在paintComponent()方法或由paintComponent()方法调用的子方法中。你不应该直接调用这个子方法。如果你认为你需要这样做,那么你的程序设计错误。 – camickr 2011-05-08 15:09:00