重绘();不叫油漆方法

时间:2017-02-01 23:35:55

标签: java paint repaint

我知道这个问题之前已经被问了好几次,但是他们似乎没有一个对我有用的答案。 我正在尝试创建一个步步高游戏,当我开始研究这个时,我遇到了这个早期的问题:重绘();没有调用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方法的事实。

0 个答案:

没有答案