TableView et une colonne CheckBox
Bonjour,
J’ai un petit problème avec une TableView qui ne doit pas être compliqué à résoudre mais dont je ne trouve pas la solution sur le net !
Je crée une TableView composée de 2 colonnes. La première est l’affichage du enum nommée Room (voir code ci-dessous) et la seconde une checkBox. L’affichage ne cause pas de problème mais je ne sais pas comment récupérer les données pour construire un objet Room (pas une enum dans ce cas-ci).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
public enum Room {
SCREAM("Scream"),
CARRIE("Carrie");
private String label;
/**
* Constructeur
*/
Room(String label) {
this.label = label;
}
public String getLabel() {
return this.label;
}
} |
Je précise que je ne souhaite pas être 'informé' quand on coche une case de la ChecBox mais simplement savoir si un nom de chambre a été coché pour construire mon Objet Room.
Afin de mieux comprendre, voici un peu de code :
La construction de mon TableView :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
data = FXCollections.observableArrayList(Room.values());
table.setItems(data);
final TableColumn<Room, String> roomCol = new TableColumn<>(Messages.getString("rooms"));
roomCol.setCellValueFactory(new PropertyValueFactory("label"));
roomCol.prefWidthProperty().bind(table.widthProperty().multiply(0.8));
final TableColumn<Room, Boolean> checkCol = new TableColumn<>("Check");
checkCol.setCellFactory(CheckBoxTableCell.forTableColumn(checkCol));
checkCol.prefWidthProperty().bind(table.widthProperty().multiply(0.2));
checkCol.setEditable(true);
table.setEditable(true);
table.getColumns().setAll(roomCol, checkCol); |
... et la création de mon Objet Room :
Code:
1 2 3 4 5
|
Room room = new Room();
cd.getRooms_TableView().getTable().getSelectionModel(). //ceci est un essai !
room.setIdTeam(cd.getTfChipNbr().getText());
room.setNameRoom(cd.getCbbNameRoom().getValue()); //Ceci sera supprimé. Je créais au départ une seule Room dont le nom était sélectionné dans une ComboBox |
J'imagine créer ma liste de Room en bouclant mon model de la TableView et vérifier si pour un nom d'une Room, la CheckBox est cochée.
Merci pour votre attention.
Marc