2016-04-05 10 views
1

imはテーブルビューの文字列としてブール値を表示しようとしているので、真ではなく男性を表示したい。TableView JavaFxの文字列へのブール

正直言って少し失礼です。私は助けるためにインターネット上の何かを見つけることができません。 HERESに

私のコード -

エラーecilpseが私の方法であり、与えている "(> {}(cellData))型TableColumnの中setCellValueFactory(コールバック、ObservableValueする>)の引数には適用されません"。

TableColumn<Animal, Boolean> genColumn = new TableColumn<>("Gender"); 
genColumn.setCellValueFactory(cellData -> cellData.getValue().genderProperty()); 
// or cellData -> new SimpleBooleanProperty(cellData.getValue().getGender()) 
// if your model class doesn't use JavaFX properties 

genColumn.setCellFactory(col -> new TableCell<Animal, Boolean>() { 
    @Override 
    protected void updateItem(Boolean item, boolean empty) { 
     super.updateItem(item, empty) ; 
     setText(empty ? null : item ? "Male" : "Female"); 
    } 
}); 

答えて

3

がブールとしてタイプを保ち、あなたがそれを表示する方法を変更するために、セルファクトリーを使用するすべてのヘルプは感謝される

TableColumn<Animal, String > genColumn = new TableColumn<>("Male"); 
     genColumn.setMinWidth(50); 
     genColumn.setCellValueFactory(cellData -> { 
      boolean gender = cellData.getValue().getGender(); 
      String genderAsString; 
      if(gender == true) 
      { 
       genderAsString = "Male"; 
      } 
      else 
      { 
       genderAsString = "Female"; 
      } 

      new ReadOnlyStringWrapper(genderAsString); 
     }); 

そのおそらく間違っています私はちょうどreturnステートメントが不足していたそれを働かせてください。

HERESにコード

TableColumn<Animal, String > genColumn = new TableColumn<>("Gender"); 
     genColumn.setMinWidth(50); 
     genColumn.setCellValueFactory(cellData -> { 
      boolean gender = cellData.getValue().getGender(); 
      String genderAsString; 
      if(gender == true) 
      { 
       genderAsString = "Male"; 
      } 
      else 
      { 
       genderAsString = "Female"; 
      } 

     return new ReadOnlyStringWrapper(genderAsString); 
     }); 
関連する問題