Java 打印对象有效,但绘制对象无效?

Java 打印对象有效,但绘制对象无效?,java,graphics,Java,Graphics,因此,每次我试图绘制对象列表时,它都不会绘制。我已经在我的类下绘制了方法,似乎一切都正常,因为更新下的while循环方法正常工作。如果它遍历列表并正确打印出来,我如何实现它以读取paintComponent下的相同列表?似乎当我尝试时,它给了我一个空指针异常,这意味着它必须是空的 更新: public void update(IObservable o, Object arg){ gwp = (GameWorldProxy) o; gameObjects = gwp.getCol

因此,每次我试图绘制对象列表时,它都不会绘制。我已经在我的类下绘制了方法,似乎一切都正常,因为更新下的while循环方法正常工作。如果它遍历列表并正确打印出来,我如何实现它以读取paintComponent下的相同列表?似乎当我尝试时,它给了我一个空指针异常,这意味着它必须是空的

更新:

public void update(IObservable o, Object arg){
    gwp = (GameWorldProxy) o;
    gameObjects = gwp.getCollection().getIterator();
    while(gameObjects.hasNext()){
        GameObject gameObj = (GameObject) gameObjects.getNext();
        System.out.println(gameObj);
    }
    this.repaint();
}
油漆组件:

public void paintComponent(Graphics g){
    super.paintComponent(g);
    while(gameObjects.hasNext()){
        GameObject gameObj = (GameObject) gameObjects.getNext();
        gameObj.draw(g);
    }

}

检查你的堆栈跟踪,我猜gameObjects是空的,因为某些原因我的堆栈跟踪指向PaintComponent下while循环开始的位置检查gameObjects是否为空,如果是,退出该方法而不绘制。gameObjects可能为null,因为尚未调用update…@MadProgrammer我找到了它,但似乎你可能是对的,我需要调用它,因为第一个始终为null,然后当我添加新对象时,它可以正常工作。