java - 不能在单独的类中添加到根目录?
问题描述
我正在使用 javaFX,我想将一个 Rectangle 对象从一个单独的玩家类添加到游戏根目录。因此,我在我的游戏中创建了一个 getRoot 函数,并尝试从我的播放器类中添加矩形。尽管由于某种原因它只是不起作用。
public class Test {
public void run() {
System.out.println("loaded");
GameScene gameScene = new GameScene();
gameScene.getRoot().getChildren().add(new Sprite(50,50,50,50, Color.GREEN,"TEST", 1, 0));
}
}
public class GameScene {
private Group root = new Group();
public Scene getScene(){
Scene scene = new Scene(root, Color.BLACK);
Test test = new Test();
test.run();
return scene;
}
public Group getRoot() {
return root;
}
}
当我运行它时,gameScene 仍然是空的,尽管“加载”字符串被打印到控制台。
解决方案
试试这个通过另一个类修改root:
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
public class GameScene extends Application {
private Group root;
@Override
public void start(Stage stage) {
root = new Group();
stage.setScene(getScene());
stage.show();
}
public Scene getScene(){
Scene scene = new Scene(root);
Test test = new Test();
test.run(root);
return scene;
}
public static void main(String[] args) {
launch(args);
}
}
class Test {
public void run(Group root) {
root.getChildren().add(new Rectangle(50, 50, Color.BLACK));
}
}
推荐阅读
- reactjs - 使用样式化组件向子元素添加样式?
- r - 将文本值添加到辅助轴上的 ggplot
- python - 为什么“any”有时比python中布尔值的“max”工作得更快,有时比“max”慢得多?
- html - 如何在移动视图的总屏幕上显示侧选项卡?
- react-native - 更改状态后组件未更新
- python - 如何用 python 克服这个 sql 连接错误?
- spring-boot - 为什么我在使用 Spring boot+ Angular 7 时收到 403 错误“CSRF 令牌丢失”?
- java - 通过创建会话登录后从数据库中检索到的jsp页面上未列出的数据
- python - 烧瓶:400 错误请求:KeyError:'密码'
- javascript - 我可以从嵌套数组中删除冗余数据结构包装器到嵌套 json 脚本吗?