我一直在玩一些简单的Graphics2D绘画,并在这里得到了社区的一些非常好的帮助.
我设法通过将代码从主JFrame类移动到JPanel然后添加到JFrame类中,从我的“弹性球”中解决了闪烁,有人能告诉我为什么会产生这样的差异吗?
解决方法:
当您在JComponent的paintComponent方法(例如JPanel)中绘制时,使用Swing,默认情况下绘制时使用双缓冲.直接在JFrame的绘制方法中绘制将只允许AWT类型绘制,因为JFrame直接继承自Frame,一个重量级容器,并且由于AWT图形默认情况下不使用双缓冲,这将导致不连贯的动画.