JavaFX TableView单元格保持为空

时间:2015-01-28 19:41:35

标签: javafx tableview

我正在尝试使用JavaFX TableView实现一个简单的表。将显示表和列,但不显示内容。我阅读了有关该主题的所有内容,但找不到原因。谢谢你的帮助。

 ObservableList<DatensatzMitarbeiter> data = FXCollections.observableArrayList(
            new DatensatzMitarbeiter("1", "Jacob", "Minijob", "false"),
            new DatensatzMitarbeiter("2", "Isabella", "Vollzeit", "true"),
            new DatensatzMitarbeiter("3", "Ethan", "Teilzeit", "false"),
            new DatensatzMitarbeiter("4", "Emma", "Minijob", "false"),
            new DatensatzMitarbeiter("5", "Michael", "Minijob", "false")
            );
    //
    TableColumn<DatensatzMitarbeiter,String> spalte1 = new TableColumn<DatensatzMitarbeiter,String>("ID");
    spalte1.setCellValueFactory(new PropertyValueFactory<DatensatzMitarbeiter, String>("id"));
    //
    TableColumn<DatensatzMitarbeiter,String> spalte2 = new TableColumn<DatensatzMitarbeiter,String>("Nachname");
    spalte2.setCellValueFactory(new PropertyValueFactory<DatensatzMitarbeiter, String>("nachname"));
    //
    TableColumn<DatensatzMitarbeiter,String> spalte3 = new TableColumn<DatensatzMitarbeiter,String>("Status");
    spalte3.setCellValueFactory(new PropertyValueFactory<DatensatzMitarbeiter, String>("status"));
    //
    TableColumn<DatensatzMitarbeiter,String> spalte4 = new TableColumn<DatensatzMitarbeiter,String>("Admin");
    spalte4.setCellValueFactory(new PropertyValueFactory<DatensatzMitarbeiter, String>("admin"));
    //
    tabelle = new TableView<DatensatzMitarbeiter>();
    tabelle.setItems(data);
    tabelle.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
    tabelle.getColumns().add(spalte1);
    tabelle.getColumns().add(spalte2);
    tabelle.getColumns().add(spalte3);
    tabelle.getColumns().add(spalte4);

class DatensatzMitarbeiter
{
private String id;
private String nachname;
private String status;
private String admin;

DatensatzMitarbeiter(String id,
                     String nachname,
                     String status,
                     String admin)
{
    this.id = id;
    this.nachname = nachname;
    this.status = status;
    this.admin = admin;
}
String getId()
{
    return id;
}
String getNachname() 
{
    return nachname;
}
String getStatus()
{
    return status;
}
String getAdmin()
{
    return admin;
}   

}

1 个答案:

答案 0 :(得分:1)

制作get方法和数据模型类public

或者,如果您使用的是Java 8,请避免使用(有点遗留的)PropertyValueFactory

spalte1.setCellValueFactory(cellData -> new ReadOnlyStringWrapper(cellData.getValue().getId()));

(和其他列类似)。