JavaFXListView不刷新?

JavaFXListView不刷新?,listview,refresh,javafx-2,Listview,Refresh,Javafx 2,这是一个场景: 我有一个充满“Koe”对象的listView,在listView中,“Koe”对象按其LabID属性列出 public class Koe { private final SimpleIntegerProperty koeID = new SimpleIntegerProperty(); private final SimpleStringProperty labID = new SimpleStringProperty(""); ... //GETTERS public in

这是一个场景:

我有一个充满“Koe”对象的listView,在listView中,“Koe”对象按其LabID属性列出

public class Koe {
private final SimpleIntegerProperty koeID = new SimpleIntegerProperty();
private final SimpleStringProperty labID = new SimpleStringProperty("");
...

//GETTERS
public int getKoeID(){
    return koeID.get();
}

public String getLabID(){
    return labID.get();
}
...

//SETTERS
public void setKoeID(int iKoeID) {
    koeID.set(iKoeID);
}

public void setLabID(String sLabID){
    labID.set(sLabID);
}
...

@Override
public String toString(){
    return "" + labID.get();
}
现在,一旦选择了Koe,Koe的数据将加载到另一个窗格中,用户可以在其中编辑数据并按下保存按钮。按下保存按钮时,文本字段中的值将保存到Koe对象

...
k.setLabID(txtLabID.getText());
...
然而,问题是,当用户编辑Koe对象的LabID时,ListView在刷新ListView之前不会在ListView中显示新的LabID(作为测试,当用户点击Save按钮强制刷新时,我尝试添加一个虚拟Koe对象,然后它似乎可以工作)

我读了一些关于它的书,我知道ListView应该链接到SimpleStringProperty对象。但是,当用户点击Save按钮时,setLabID()方法会更新Koe的LabID(它是SimpleStringProperty对象)? 这与toString()方法有关吗?这是用来在listView中显示Koe的labID的吗?但是,这个toString()方法还是链接到labID SimpleStringProperty


如你所见,我有点困惑。尽管一切正常,但只是刷新ListView的问题我还没有解决。

Hi-Uluk,我为labid添加了一个SimplePropertyString getter,但我仍然不知道如何将其连接到ListView?我了解它是如何与TableView(TableColumn->setCellValueFactory)一起工作的,但我没有找到ListView的方法?有没有用Java或FXML管理的示例代码?请参阅。虽然这是关于ComboBox的,但同样的(cellFactory)也可以应用于ListView。您可以认为ListView中只有一列,因此不需要cellValueFactory,或者实际上隐式地有一列。我尝试添加您提到的cellFactory,但仍然不起作用。当我按下“保存”按钮保存Koe的数据时,updateItem()方法没有被触发。这些值存储在ListView中的Koe对象中,但是ListView(图形)没有更新。嗨,Uluk,我为labid添加了一个SimplePropertyString getter,但是我仍然不知道如何将其连接到ListView?我了解它是如何与TableView(TableColumn->setCellValueFactory)一起工作的,但我没有找到ListView的方法?有没有用Java或FXML管理的示例代码?请参阅。虽然这是关于ComboBox的,但同样的(cellFactory)也可以应用于ListView。您可以认为ListView中只有一列,因此不需要cellValueFactory,或者实际上隐式地有一列。我尝试添加您提到的cellFactory,但仍然不起作用。当我按下“保存”按钮保存Koe的数据时,updateItem()方法没有被触发。这些值存储在ListView的Koe对象中,但ListView(图形)没有更新。