我知道这个问题之前已经被问了好几次,但是他们似乎没有一个对我有用的答案。 我正在尝试创建一个步步高游戏,当我开始研究这个时,我遇到了这个早期的问题:重绘();没有调用paintComponent方法。我将它与我的其他一些正常工作的代码进行了比较,但我没有发现任何重大差异。
public class World extends JPanel implements ActionListener
{
Player1 p1;
Player2 p2;
Board b;
Timer tm;
public World()
{
setFocusable(true);
p1 = new Player1();
p2 = new Player2();
b = new Board();
tm = new Timer(5, this);
tm.start();
}
public void paintComponent(Graphics g)
{
System.out.println("Called World Paint");
super.paintComponent(g);
p1.paintComponent(g);
p2.paintComponent(g);
b.paintComponent(g);
}
public void actionPerformed(ActionEvent e)
{
System.out.println("Called actionPerformed");
p1.move();
p2.move();
repaint();
}
}
使用所有适当的导入。 我知道正在访问actionPerformed方法的事实。