2017-09-25 15 views
1

JavaFXのTableViewに問題があります。私は整数を持つ3つの列を持っています。開始時には、これらのセルのデフォルト値はnullにする必要があります(JavaFXでは、何もせずに「0」を使用します)。私の質問:どのように "0"の代わりに ""(何も)表示することができます。私はすでに、テーブルを編集可能にするためにsetCellFactoryを使用しています。ここでコード:JavaFXを使用するTableViewの整数値が0でない

_points1 = new TableColumn<Row, Integer>("Spieler 1"); 
    _points1.setCellValueFactory(new PropertyValueFactory<Row, Integer>("_valuePlayer1")); 
    _points1.setCellFactory(TextFieldTableCell.forTableColumn(new IntegerStringConverter())); 
    _points2 = new TableColumn<Row, Integer>("Spieler 2"); 
    _points2.setCellValueFactory(new PropertyValueFactory<Row, Integer>("_valuePlayer2")); 
    _points2.setCellFactory(TextFieldTableCell.forTableColumn(new IntegerStringConverter())); 
    _points3 = new TableColumn<Row, Integer>("Spieler 3"); 
    _points3.setCellValueFactory(new PropertyValueFactory<Row, Integer>("_valuePlayer3")); 
    _points3.setCellFactory(TextFieldTableCell.forTableColumn(new IntegerStringConverter())); 
+0

この場合、整数は誤解を招きます。これは、整数ではなくオブジェクトの整数です。 –

答えて

0

問題は、あなたのcellFactory/cellValueFactoryではありませんが、あなたのクラスで。 IntegerPropertyを使用しています。それらのプロパティはnull値を許可しません。 nullIntegerProperty.setValueを使用して値として設定しようとすると、その値は自動的に0に置き換えられます。この結果、あなたが観察した動作になります。

nullの値を許可するには、IntegerPropertyの代わりにObjectProperty<Integer>を使用する必要があります。

+0

thxたくさん。これはうまくいった! – Dubi

関連する問題