如何在paintComponent外面绘画?

时间:2011-05-08 06:42:45

标签: java java-2d graphics2d paintcomponent

我有一个用paintComponent()方法绘制所有内容的画布。

是否可以在paintComponent之外绘制(不调用paintComponent内的方法?)

如果是这样你怎么去做?

2 个答案:

答案 0 :(得分:2)

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

但是因为我不知道你想要实现什么(而不是你想要),我不知道这个答案是否解决了未说明的问题

答案 1 :(得分:-1)

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

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

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

这允许我在paintComponent的“外部”绘制,就像我需要的那样。