Java图形更新/重绘图形

时间:2016-05-01 19:27:38

标签: java swing graphics

我正在尝试使用Java绘画 实用性,这有点麻烦。

我试图做一些我认为非常基本的事情。 我正在为JPanel画一个方形图形,然后尝试 使用重绘来移动它

let number: UInt64 = 111
let mostSignificantBit = _lzcnt_u64(number)

print(mostSignificantBit)

我不知道调用更新功能的原因是什么 不过。

它以50x和50y绘制正方形,将其设置为0x和0y 当我打电话给我重复的时候,我预料到它 移动到它的新坐标,虽然它仍在 50x和50y。

为什么会这样?

1 个答案:

答案 0 :(得分:1)

您的解决方案是使用KeyBindings。

https://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html

还有。 您需要创建一个Swing Timer,Thread或Loop来管理要绘制的帧。等等

以下是Swing Timers的链接,因为它们很容易实现:

https://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html

我看到很多程序都有这个(AKA。使用线程。):

SwingUtilities.invokeLater(new Runnable() {
    public void run() {
        createAndShowGUI();
    }
});