2015-01-28 5 views
1

Я пытаюсь реализовать простую таблицу с TableView JavaFX. Отображаются таблица и столбцы, но не содержимое. Я читал все, что мог найти на эту тему, но не мог найти причину. Спасибо за помощь.Ячейки 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

Сделайте get методы и модели данных класса public.

В качестве альтернативы, если вы используете Java 8, избегать использования (несколько наследства) PropertyValueFactory:

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

(и аналогично для других столбцов).

+0

Спасибо, что сработало :-) –

Смежные вопросы