【发布时间】:2018-09-07 16:34:59
【问题描述】:
我正在尝试通过 TextField 文本将“玩家”添加到 ObservableList。
@FXML
void ingresar_tabla(){
String jugador = t_ingresarjudaror.getText();
Jugador juga = new Jugador(jugador);
lista_Jugadores = FXCollections.observableArrayList();
lista_Jugadores.add(juga);
juga.setNombre(jugador);
colJugador.setCellValueFactory(new PropertyValueFactory<>("nombre"));
t_tabla.setItems(lista_Jugadores);
t_tabla.refresh();
System.out.println(lista_Jugadores);
}
我的问题是每次我在文本字段中输入新名称时,列表只保存最后一个值。
如何保存所有记录?
【问题讨论】:
-
很确定这个
lista_Jugadores = FXCollections.observableArrayList();每次都会创建一个新列表。删除它,只创建一次列表。 -
是的,我是这么想的,但是如果我删除它,控制台会报错,我会尝试在别处添加它
-
不要删除 lista_Jugadores = FXCollections.observableArrayList();只需对方法进行初始化即可。
-
至于你的问题:其他人都在现场。如需进一步帮助,请阅读stackoverflow.com/help/mcve 并采取相应措施。另请注意:无论您做什么,都不要使用 table.refresh ...永远不会!如果您觉得需要它,则说明设置有问题:正确配置的表将在 setItems 上自我更新(或对数据列表的任何修改)