0

我有一组代理(对象),当模拟器开始时,每个代理执行一个 act() 方法来更新它们在环境中的位置(二维数组)。我的 paintComponent(Graphics g) 在不同的类中被覆盖(它基本上遍历 2D 数组并绘制与代理类型相对应的矩形颜色)。

但实际的集合是在模拟器类中,由用户单击 GUI 中的按钮独立运行。如果我将 repaint() 方法放在paintComponent(Graphics g) 的末尾。它只更新 JPanel 画布两次,一次是在应用程序启动时,第二次是在我单击开始模拟的运行按钮时。

当所有代理执行 act 方法时,如何使用新图像自动更新 JPanel 画布。或者,当集合中发生更改时,代理会在画布上绘制新位置并删除旧位置?

4

0 回答 0