javajframe&;JPanel与Repaint()的差异
我一直在玩一些简单的javajframe&;JPanel与Repaint()的差异,java,swing,awt,paint,Java,Swing,Awt,Paint,我一直在玩一些简单的Graphics2D绘画,这里的社区提供了一些非常好的帮助 通过将代码从主JFrame类移到JPanel中,我成功地解决了我的“弹跳球”中的闪烁问题,然后将其添加到JFrame类中,有人能告诉我为什么这会产生如此大的差异吗?当您绘制JComponent的paintComponent方法时(例如JPanel的),使用Swing,默认情况下绘制时使用双缓冲。直接在JFrame的绘制方法中绘制将只允许AWT类型的绘制,因为JFrame直接继承自Frame(一个重量级容器),而且AW
Graphics2D
绘画,这里的社区提供了一些非常好的帮助
通过将代码从主
JFrame
类移到JPanel
中,我成功地解决了我的“弹跳球”中的闪烁问题,然后将其添加到JFrame
类中,有人能告诉我为什么这会产生如此大的差异吗?当您绘制JComponent的paintComponent方法时(例如JPanel的),使用Swing,默认情况下绘制时使用双缓冲。直接在JFrame的绘制方法中绘制将只允许AWT类型的绘制,因为JFrame直接继承自Frame(一个重量级容器),而且AWT图形默认情况下不使用双缓冲,这将导致动画不稳定。非常感谢你的气垫船!