JavaFX TableView内容在滚动时消失

JavaFX TableView内容在滚动时消失,tableview,javafx-2,Tableview,Javafx 2,我设法创建了一个TableView,其中指定了一个数据模型类的特定列。该程序可以将csv文件解析为csv文件,并在表中正确显示所有内容。在这个阶段滚动不是问题 然后我想选择特定的行并将它们发送到另一个表。这同样有效。但当我再次开始在表1中滚动时,视觉区域之外的内容消失了 我真的不明白这里发生了什么,因为我没有为表1更改任何内容。两个列表都使用Order作为数据模型。。。也许这是个问题?以下是将行发送到表2的代码: if(init) { //init is true ObservableL

我设法创建了一个
TableView
,其中指定了一个数据模型类的特定列。该程序可以将csv文件解析为csv文件,并在表中正确显示所有内容。在这个阶段滚动不是问题

然后我想选择特定的行并将它们发送到另一个表。这同样有效。但当我再次开始在表1中滚动时,视觉区域之外的内容消失了

我真的不明白这里发生了什么,因为我没有为表1更改任何内容。两个列表都使用Order作为数据模型。。。也许这是个问题?以下是将行发送到表2的代码:

if(init) { //init is true
    ObservableList<TableColumn<Order, ?>> header = table1.getColumns();
    table2.getColumns().addAll(header);
    table2.setItems(table2Observable);
    init = false;
}

table2Observable.addAll(table1.getSelectionModel().getSelectedItems());
table2.setItems(table2Observable);
如果(init){//init为true
ObservableList header=table1.getColumns();
表2.getColumns().addAll(标题);
表2.设定项目(表2可观测);
init=false;
}
table2Observable.addAll(table1.getSelectionModel().getSelectedItems());
表2.设定项目(表2可观测);

如果order是您的bean类,则正确重写hashcode()和equals()方法。发生这种情况是因为存在重复对象。这对我来说很有效。

一旦我遇到同样的问题,请尝试在第二个表中使用新列,但csv没有……我认为这可能是因为循环问题或空指针