2013-08-22 5 views
0

Je suis nouveau à JavaFX, et dans mon application de bureau, j'ai une colonne de case à cocher pour une certaine fonctionnalité. Je charge ces cases à cocher à la vue de la table à l'exécution avec "CheckboxCell.java".javafx cases à cocher dans tableview

Dans ma classe de contrôleur, j'ai le code suivant pour définir la colonne particulière:

TableColumn checkFireCol = new TableColumn("Check Car"); 
checkFireCol.setMinWidth(80); 
checkFireCol.setCellValueFactory(new PropertyValueFactory<carModel, Boolean>("checkCar ")); 
checkFireCol.setCellFactory(new Callback<TableColumn<carModel, Boolean>, TableCell<carModel, Boolean>>() 
{ 
    @Override 
    public TableCell<carModel, Boolean> call(TableColumn<carModel, Boolean> tableColumn) 
    { 
     return new CheckboxCell(Pos.CENTER); 
    } 
}); 

J'ai besoin d'imprimer un message selon que la case à cocher ou non sélectionné pour chaque élément de ligne. Comment puis-je le faire en utilisant la classe de contrôleur, la classe CheckboxCell et la classe de modèle de table?

Répondre

0

Vous pouvez accéder au modèle de table dans votre classe de contrôleur comme ceci. Notez que cm.getCheckCar() est également la valeur de CheckboxCell.

for(CarModel cm:carModelTable.getItems()){ 
    System.out.println(cm.getCheckCar()); 
}