我有一些这样的代码:
public void paintComponent(Graphics graphics){
graphics.setColor(Color.WHITE);
for (GameObject object : GameArea.objects){
graphics.fillRect(object.position.x, object.position.y,object.width, object.height);
}
graphics.setColor(Color.BLUE);
graphics.fillRect(GameArea.square.position.x,GameArea.square.position.y,GameArea.square.width, GameArea.square.height);
for(GameObject object2 : GameArea.objects){
graphics.fillRect(object2.position.x, object2.position.y,object2.width, object.height);
}
}
它在一个名为 FieldPanel 的类中。我从 MainGame 类中调用它,如下所示:
Timer t = new Timer(50, new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
//The following line does not work:
fieldPanel.paintComponent(Graphics g);
}
});
但是,不起作用的线路给我带来了问题。如何创建一个新的图形对象以传递给其他类的方法?而且,当我创建它时,它应该具有哪些属性等?我不完全确定 Graphics 类的作用,解释会有所帮助。