我有一个画布,它在一个paintComponent()
方法中绘制所有内容。
是否可以在外部绘制paintComponent
(而不在内部调用方法paintComponent
?)
如果是这样,你怎么做呢?
我有一个画布,它在一个paintComponent()
方法中绘制所有内容。
是否可以在外部绘制paintComponent
(而不在内部调用方法paintComponent
?)
如果是这样,你怎么做呢?
这取决于你的意思以及你为什么需要它。例如,可以创建一个BufferedImage
,获取Graphics2D
对象,Graphics.paint()
应该在图像上的所有内容,然后将图像放入JLabel
.
但是由于我不知道您要实现什么(与您要做什么相反),所以我不知道该答案是否解决了未说明的问题。
我发现了如何解决这个问题。
我所做的是让 JPanel 成为我的 JFrame 类的内部类。
在 JPanels paintComponent 中,我让它从外部类调用一个方法,该方法通过传递 paintComponents Graphics2D 对象对图形进行了一些更新。
这使我可以根据需要在paintComponent 的“外部”进行绘制。