2017-01-30 3 views
0

チェックボックスの1つが無効に設定されている理由はわかりません。このページのコード。私の結果ですCheckBoxのデフォルトはTreeTableViewで無効にされています

http://o7planning.org/en/11149/javafx-treetableview-tutorial#a3985429

:: は、その選択の可能性はありません。あなたが削除する必要が

TreeTableColumn<MessageOnTable, Boolean> deleteCol 
       = new TreeTableColumn<MessageOnTable, Boolean>("Delete"); 
deleteCol.setCellValueFactory(new TreeItemPropertyValueFactory<MessageOnTable, Boolean>("delete")); 

     deleteCol.setCellValueFactory(new Callback<TreeTableColumn.CellDataFeatures<MessageOnTable, Boolean>, // 
         ObservableValue<Boolean>>() { 

      @Override 
      public ObservableValue<Boolean> call(TreeTableColumn.CellDataFeatures<MessageOnTable, Boolean> param) { 
       TreeItem<MessageOnTable> treeItem = param.getValue(); 
       MessageOnTable emp = treeItem.getValue(); 
       SimpleBooleanProperty booleanProp= new SimpleBooleanProperty(emp.isDelete()); 

       // Note: singleCol.setOnEditCommit(): Not work for 
       // CheckBoxTreeTableCell. 
       // When "Single?" column change. 
       booleanProp.addListener(new ChangeListener<Boolean>() { 

        @Override 
        public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, 
             Boolean newValue) { 
         emp.setDelete(newValue); 
        } 
       }); 
       return booleanProp; 
      } 
     }); 

     deleteCol.setCellFactory(new Callback<TreeTableColumn<MessageOnTable,Boolean>,TreeTableCell<MessageOnTable,Boolean>>() { 
      @Override 
      public TreeTableCell<MessageOnTable,Boolean> call(TreeTableColumn<MessageOnTable,Boolean> p) { 
       CheckBoxTreeTableCell<MessageOnTable,Boolean> cell = new CheckBoxTreeTableCell<MessageOnTable,Boolean>(); 
       cell.setAlignment(Pos.CENTER); 
       return cell; 
      } 
     }); 

     treeTableView.getColumns().addAll(senderCol, topicCol, contentsCol, deleteCol); 
+0

私はあなたの質問から何の意味することはできません。あなたのコードは何をしていますか?それは何をすべきか?試してみるには、[最小限の例](http://stackoverflow.com/help/mcve)も含めてください。 – Nash

答えて

0

deleteCol.setCellValueFactory(
    new TreeItemPropertyValueFactory<MessageOnTable, Boolean>("delete")); 

をちょうどこの行が必要:

deleteCol.setCellValueFactory(new Callback .... 
関連する問題