【问题标题】:Rerender a panel in a simulation在模拟中重新渲染面板
【发布时间】:2011-03-30 19:01:16
【问题描述】:

我是 Java GUI 的新手,正在尝试构建模拟器。在模拟的每一步中,我都想更新框架中的面板。此平面显示从模拟中每个步骤中创建的唯一缓冲区读取的 BufferedImage。

如何在每个步骤中更新图像。

【问题讨论】:

    标签: java image swing rendering


    【解决方案1】:

    你应该在它作为参数传递给paintComponent的Graphics上绘制它。(你应该为它扩展JPanel)

    每一步,您都会生成新图像。并调用 repaint 到您的 JPanel 在其 Graphics 上绘制新内容。

    【讨论】:

    • 如果您需要硬件加速,或使用 EDT,请查看 Active Rendering 和 AWT Canvas。 gamedev.net/page/resources/_/reference/programming/languages/…
    • 你不需要画布来做。 Swing 已经是硬件加速的,如果你不会闪烁,你可以使用 BufferStrategy。
    • 是的,使用轻量级 Swing 组件是一个更好的主意。
    • @MarcosVasconcelos 画布可以让您在单独的线程中进行绘制和显示到屏幕上。
    猜你喜欢
    • 2019-11-19
    • 1970-01-01
    • 2015-03-17
    • 2013-09-02
    • 2021-04-27
    • 1970-01-01
    • 2019-01-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多