Bonjour à tous,
J'ai une TableView comme ceci:
Elle posséde une CellFactory comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 //Colonne -> Checkbox / risque par défaut ColumnIsDefaultRisk.setCellValueFactory(cellData -> cellData.getValue().isDefaultRiskProperty()); ColumnIsDefaultRisk.setCellFactory(column -> new RadioButtonCell(toggleGroup,this)); ColumnIsDefaultRisk.setEditable(true);
J'aimerais réussir à binder ma propriété donné dans la CellValueFactory, de type BooleanProperty, à la Property de mes RadioButtons. Cependant je n'arrive pas à récupérer cette Property dans ma CellFactory car celle-ci renvoi un item de type Boolean.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 package utils; import Model.databaseModels.Risk; import controllers.risks.ModifyRisksAvailableController; import javafx.beans.value.ObservableValue; import javafx.scene.control.RadioButton; import javafx.scene.control.TableCell; import javafx.scene.control.ToggleGroup; public class RadioButtonCell extends TableCell<Risk, Boolean> { ToggleGroup toggleGroup; ModifyRisksAvailableController modifyRisksAvailableController; public RadioButtonCell(ToggleGroup group, ModifyRisksAvailableController modifyRisksAvailableController){ toggleGroup = group; this.modifyRisksAvailableController = modifyRisksAvailableController; } @Override public void startEdit() { if (!isEmpty()) { super.startEdit(); } } @Override protected void updateItem(Boolean item, boolean empty){ super.updateItem(item, empty); System.out.println(item); if(!empty && item != null){ RadioButton radioButton = new RadioButton(); radioButton.setToggleGroup(this.toggleGroup); radioButton.setSelected(item); setGraphic(radioButton); }else{ setGraphic(null); } } }
Merci beaucoup pour vos réponses.
Partager