【问题标题】:Update graphics with repaint() in the run() method?在 run() 方法中使用 repaint() 更新图形?
【发布时间】:2012-04-30 09:33:31
【问题描述】:

我在此处更新此 Pong 游戏中的屏幕时遇到问题。 run() 方法将形状绘制到图形 (myBuffer),然后再绘制到 bufferedImage (myImage)。我正在为线程实现一个 run() 方法,以便桨可以同时移动。

我知道其他类(ball、bumper1、bumper2)在这个程序中工作,因为我在这个文件中使用相同的命令制作了 Pong,但没有 run() 方法。我在前一个中使用了一个监听器,它更新和刷新很好(只是对桨键相互干扰感到烦恼!:/)

我的猜测是 1) 线程不执行(不太可能,但不确定)或 2) 我使用 repaint() 的方式在线程中不起作用或 3) 我遗漏了一些明显的东西。 :}

【问题讨论】:

    标签: java swing animation java-2d


    【解决方案1】:

    一个线程只执行一次run() 方法。要重复执行一个块,您可以使用无限循环:

    public void run() {
        for (;;) {
            // your code
        }
    }
    

    【讨论】:

    • 这正是我需要的!我放了一个while循环而不是for循环,它工作得很好。谢谢。
    猜你喜欢
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    相关资源
    最近更新 更多