2015-01-28 5 views
1

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

get 방법과 데이터 모델 클래스 public을 확인합니다. 자바 8 사용하는 경우

또는,의 (다소 레거시)를 사용하여 PropertyValueFactory을 피하기 :

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

(마찬가지로 다른 열)입니다.

+0

고맙습니다. –