我的carcontroller类中有以下代码:
private class TimerListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
for (Car car : cars) {
car.move();
checkWallCollision(car);
System.out.println(car.getPosition());
int x = (int) Math.round(car.getPosition().x);
int y = (int) Math.round(car.getPosition().y);
frame.drawPanel.moveit(x,y);
// repaint() calls the paintComponent method of the panel
frame.drawPanel.repaint();
}
}
}
在drawpanel类中,这个代码扩展了jpanel:
void moveit(int x, int y){
point.x = x;
point.y = y;
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(volvoImage, point.x, point.y, null);
}
我想根据使用car.move()获得的cars新位置更新draw面板中的图像,但似乎无法确定如何使draw面板能够获取多辆车并将它们连接到正确的点坐标。
如何将给定的moveit调用连接到给定的图像并指向绘图面板?我试着创建一个新类来保存draw panel使用的图像和点,但是当我从carcontroller使用moveit()时,我需要能够识别正确的类。
这是一个重构任务,根据我的学校,应该需要最少的代码更改。
暂无答案!
目前还没有任何答案,快来回答吧!