JavaFX TableView 单元格保持为空
JavaFX TableView cells remain empty
我正在尝试使用 JavaFX TableView 实现一个简单的 table。显示 table 和列,但不显示内容。我阅读了有关该主题的所有内容,但找不到原因。感谢您的帮助。
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;
}
}
制作 get
方法和数据模型 class public
。
或者,如果您使用的是 Java 8,请避免使用(有些遗留)PropertyValueFactory
:
spalte1.setCellValueFactory(cellData -> new ReadOnlyStringWrapper(cellData.getValue().getId()));
(其他列也类似)。
我正在尝试使用 JavaFX TableView 实现一个简单的 table。显示 table 和列,但不显示内容。我阅读了有关该主题的所有内容,但找不到原因。感谢您的帮助。
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;
}
}
制作 get
方法和数据模型 class public
。
或者,如果您使用的是 Java 8,请避免使用(有些遗留)PropertyValueFactory
:
spalte1.setCellValueFactory(cellData -> new ReadOnlyStringWrapper(cellData.getValue().getId()));
(其他列也类似)。