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