paintComponent() vs paint() 和 JPanel vs Canvas in a paintbrush-type GUI
我从这个,这个和这篇文章中得到了一些有趣的想法和批评(有关所讨论的GUI代码,请参阅上一篇文章)。尽管如此,我仍然对某些事情感到困惑。主要是,显示用户引入的图形的最便宜的方式是什么?
更具体地说,我使用了类中的方法,方法是在方法中将此类的对象与方法(并相应地)一起创建。paintComponent()
JPanel
MouseDragged()
paintComponent(getGraphics())
AuxClass2
AuxClass1
显然,使用而不是坏主意,我怀疑与内存使用有关。此外,每次用户拖动鼠标时调用 也就是一个坏主意。getGraphics()
paintComponent()
repaint()
AuxClass2
此外,JPanel vs Canvas(即swing vs awt)有点令人困惑。使用什么以及何时使用?
我一直在尝试找到解决方法,但没有找到,特别是对于该方法:如何将图形添加到面板中?getGraphics()