javafx - 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, 300, true);
Timer SpawnTimer = new Timer();
TimerTask task= new Map_Controller();
SpawnTimer.scheduleAtFixedRate(task, 1000L,2000L);
}
}
然而AP,getChildren.add(Im)
在spawnSprite()
抛出一个 NullPointerException。我确实发现如果我从initialize()
.
任何建议都会非常有帮助,谢谢!
解决方案
推荐阅读
- ibm-doors - 通过批处理模式运行脚本时出现 DXL 错误。(堆栈下溢)
- c# - 有没有办法将 blob 从本地存储模拟器复制到远程 Azure 存储?
- python - Zimbra zmrov 格式化文件到 csv 和 ldif
- c# - 如何在 Asp.Net Core 2.1 中使用 Identity Server 3 验证承载访问令牌
- intellij-idea - Intellij Idea - 如何在保存所有操作时更新应用程序
- authentication - “jti”、“client_secret”和“exp”如何用于验证“id_token”?
- javascript - 使用两个不同的.map() 两次映射异步函数?
- javascript - PHP,JS:鼠标悬停预览不起作用,默认情况下始终显示图像
- ag-grid - AG-Grid - 如何获取父 headerName
- php - 将用户名从 SP 发起的登录发送到预填写 IdP 登录表单?