【问题标题】:Java JFrame & JPanel Differences with Repaint()Java JFrame 和 JPanel 与 Repaint() 的区别
【发布时间】:2011-10-04 20:15:46
【问题描述】:

我一直在玩Graphics2D 的一些简单绘画,并从这里的社区获得了一些非常好的帮助。

通过将代码从主要的 JFrame 类移到 JPanel 中,然后我将其添加到 JFrame 类中,我设法从我的“弹力球”中解决了闪烁问题,谁能告诉我为什么会有这么大的不同吗?

【问题讨论】:

    标签: java swing awt paint


    【解决方案1】:

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

    【讨论】:

    • 物有所值,非常感谢气垫船,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 2011-03-30
    • 2012-10-24
    • 2017-01-18
    • 2011-09-18
    • 2014-08-14
    • 2011-05-25
    相关资源
    最近更新 更多