刷新按钮上的FXML表按

时间:2014-10-21 13:01:34

标签: java javafx javafx-2 fxml fxmlloader

如何刷新tableView on button中的数据使用FXML按?

我有以下文件结构,我想在按下按钮时刷新此表中的数据。有人知道解决方案吗?

public class MyTable {

private final SimpleStringProperty ID = new SimpleStringProperty("");
private final SimpleStringProperty ParticipantID = new SimpleStringProperty("");


public Positions() {
    this("", "")
}

public Positions(String ID, String ParticipantID) {

    setMemberID(ID);
    setParticipantID(ParticipantID); 
}


public String getParticipantID() {
    return  ParticipantID.get();
}

public void setParticipantID(String pID) {
    ParticipantID.set(ParticipantID); 

}

public String getID() {
    return ID.get();
}

public void ID(String cID) {
    ID.set(ID);
}
}

我在tablecontroller文件中为此初始化此表。现在按下按钮我希望tableview是一个FXML文件更新本身。我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

谢谢,但解决方法是拥有一个全局ObservableList<>然后在按钮按下操作事件上修改的数据。我试图做的是创建另一个不起作用的可观察列表。

答案 1 :(得分:1)

如果您只想按下按钮而不是因为默认方式修改了数据?

最简单的方法是创建一个更新所有数据的bean,并使按钮将其与表示表中一行的bean同步。

public class TableBean
{
 MyTable child;
 String Id;
 String ParticipantId;
 public void Sync()
 {
  child.Id(Id);
  child.setParticipantID(ParticipantId);
 }
}

重要的是要注意你的方法 违反JavaFX对话,这可能会制造东西。 JavaFX中用于每个属性的3种方法的示例。

private final IntegerProperty ratio = new SimpleIntegerProperty();

public int getRatio() {
    return ratio.get();
}

public void setRatio(int value) {
    ratio.set(value);
}

public IntegerProperty ratioProperty() {
    return ratio;
}