所以我试图修改我的 Controller 类中的一些圆圈,并且我已将这些圆圈链接到我的 fxml 文件圆圈,但是当我尝试将它们添加到圆圈数组以便于管理时,它们似乎失去了引用。例如我有:
@FXML
private Circle circle1 = new Circle();
public void addNumber(ActionEvent event){
circle1.setLayoutX(355.0);
circle1.setLayoutY(100.0);
circle1.setVisbility(true);
}
上面的方法成功地在给定的坐标处弹出了一个圆圈。但是以下方法不起作用:
@FXML
private Circle circle1 = new Circle();
@FXML
private Circle[] c = {circle1};
public void addNumber(ActionEvent event){
c[0].setLayoutX(355.0);
c[0].setLayoutY(100.0);
c[0].setVisbility(true);
}
这行不通!尝试了数组,尝试了数组列表,尝试了链接列表,对circle1的引用丢失了。我是 JAVAFX 的菜鸟,所以这可能是一个简单的修复,但我尝试进行了一些研究,尝试了不同的实现以使其正常工作,但我似乎找不到解决方案。 任何帮助将不胜感激!
最佳答案
您在标有 @FXML 的字段中创建实例,这是错误的,加载 FXML 时该字段将被覆盖。这也是数组不起作用的原因,因为数组中的元素永远不会附加到场景图
关于java - javafx 对象放入数组后会丢失引用的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26563347/