JavaFX:无法动态将ImageViews添加到锚定窗格

我的程序是一个游戏,它要求每2秒生成一个精灵。到目前为止,以下是我的代码:


    @Override
    public void run() {

        try {
            spawnSprite(300,300,true);
        } catch(NullPointerException e){
            e.printStackTrace();
            system.exit(0);
        }
    }
    private void spawnSprite(float x,float y,Boolean isPea){

        String url;
        if(isPea)
            url = "/Assets/Pea.png";
        else
            url = "/Assets/Not_pea.png";

        Image image = new Image(getclass().getResourceAsStream(url));
        ImageView Im = new ImageView();
        Im.setImage(image);
        Im.setX(x);
        Im.setY(y);
        AP.getchildren().add(Im);
    }

    @Override
    public void initialize(URL url,ResourceBundle resourceBundle) {   
        spawnSprite( 300,true);
        Timer SpawnTimer = new Timer();
        TimerTask task= new Map_Controller();
        SpawnTimer.scheduleAtFixedRate(task,1000L,2000L);
    }
}

但是AP,getchildren.add(Im)中的spawnSprite()会引发NullPointerException。我确实发现,如果我从initialize()调用函数,则不会引发任何异常。

任何建议都会非常有帮助,谢谢!

mym1989 回答:JavaFX:无法动态将ImageViews添加到锚定窗格

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3007729.html

大家都在问