2011-07-13 53 views
3

我一直在玩一些简单的Graphics2D绘画,并且从这里的社区获得了一些非常好的帮助。Java JFrame与JPanel与重绘的区别()

我设法从主JFrame类,并为JPanel然后我加入到JFrame类移动代码远离我“跳跳球”解决了闪烁,谁能告诉我为什么会做出这样的区别?

回答

5

当您绘制JComponent的paintComponent方法(例如JPanel's)时,您使用Swing,默认情况下使用双缓冲绘图。直接在JFrame的paint方法中绘制将只允许AWT类型的绘制,因为JFrame直接从Frame(一个重量级的容器)继承,并且由于AWT图形默认情况下不使用双缓冲,这会导致波涛汹涌的动画。

+0

邦上的钱非常感谢你气垫船非常感谢! – Daniel

+0

@丹尼尔:你很受欢迎! –