在双位置绘制 jpanel



我有一个jpanel,我在步骤事件中重新绘制。它取一个汽车位置 x 并绘制它。这适用于整数,但我想使用双精度。汽车对象 x 和 y 需要是双精度,因为我想在一个方向上旋转和加速。有什么想法吗?这是我当前的代码:

public class Map extends JPanel implements ActionListener {
private void step() {
for(int i = 0; i <cars.length; i++) {
Car car = cars[i];       
car.move();
repaint(car.getX()-1, car.getY()-1, car.getWidth()+2, car.getHeight()+2);  
}   
}
}
  1. 一种可能性是在程序模型中使用双精度,描述系统状态的类,并在显示模型状态时使用 int(通过强制转换或舍入(在视图(GUI 图形代码(中使用整数。
  2. 另一个是考虑使用实现 Shape 接口的类,例如Rectangle2DEllipse2DPath2D,因为它们使用双精度或浮点说明符进行定位
  3. 当前代码已损坏,因为代码是在 Swing 事件线程上调用的,但似乎尝试在 for 循环中进行动画处理。这是行不通的,并且只会显示动画的开始和结束状态,因为它阻塞了 Swing 事件线程。而是使用摆动计时器来驱动动画。

最新更新