gpt4 book ai didi

java - 如何访问存储在 observableList 中的一堆元素(在我的例子中为 Gridpane 类型)?

转载 作者:行者123 更新时间:2023-12-01 09:57:08 27 4
gpt4 key购买 nike

首先我很抱歉,因为我的英语不好。

我有 5 个 Gridpane,需要根据某些情况设置禁用/启用。我尝试将其存储到 ObservableList 中,但是当我尝试访问它们以应用 .setDisable 方法时会抛出错误,因为我检查调用任何索引时返回的内容,及其 null 而不是网格 Pane 。请帮助我:(

这是代码:

@FXML
private GridPane fila1;
@FXML
private GridPane fila2;
@FXML
private GridPane fila3;
@FXML
private GridPane fila4;
@FXML
private GridPane fila5;

@FXML
ObservableList<GridPane> mesas = FXCollections.observableArrayList(fila1,fila2,fila3,fila4,fila5);


for(int i=0;i<temp.getEmpleados().size();i++) {
mesas.get(i).setDisable(false);
}

最佳答案

由于您在字段声明中分配了值,因此 ObservableList 是在初始化程序中创建的。但是 GridPane 是稍后注入(inject)的。当时

ObservableList<GridPane> mesas = FXCollections.observableArrayList(fila1,fila2,fila3,fila4,fila5);

执行后,字段仍包含初始值null

要获取注入(inject)的 GridPane 列表,您需要在 GridPane 之后创建/分配 ObservableList > 已被注入(inject),例如在 initialize方法:

@FXML
ObservableList<GridPane> mesas;

@Override
public void initialize(URL location, ResourceBundle resources) {
mesas = FXCollections.observableArrayList(fila1,fila2,fila3,fila4,fila5);
}

关于java - 如何访问存储在 observableList 中的一堆元素(在我的例子中为 Gridpane 类型)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37105203/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com