Bonjour je suis bloque sur un problème plutôt bête je pense mais je ne trouve pas la solution ...
J'essaye de faire un bind d'un élément que j'ai sélectionnée dans une listView.
Quand je sélectionne un élément de ma ListView, j'aimerai qu’un label récupère le nom de l’objet et l'affiche. J'arrive à faire cela sauf que l'affichage de mon objet et l’affichage java (javafx.scene.control.ListView$ListViewBitSetSelectionModel@432b0232) et je voudrait le nom je je lui est donnée.
Pouvez vous m'aidez s'il vous plaît ?
Voici mon code :
Le code FXML (je pense que l'erreur est ici )
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <ListView fx:id="listDeCarte" orientation="HORIZONTAL" /> <TextField fx:id="detailCarte" text="${listDeCarte.selectionModel}" BorderPane.alignment="CENTER" />
et le code de la fenêtre associé :
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 @FXML private ListView<Carte> listDeCarte; @FXML private TextField detailCarte; public void initialize() throws IOException { listDeCarte.itemsProperty().bindBidirectional(manche.carteListJoueurProperty()); listDeCarte.setCellFactory(param -> new CarteCellFactory()); listDeCarte.getSelectionModel().selectedItemProperty().addListener((___, o, n) ->{ if (n != null) { detailCarte.textProperty().unbindBidirectional(n.nomCarteProperty()); } if (o != null) { detailCarte.textProperty().unbindBidirectional(o.nomCarteProperty()); } }); }
Merci d'avance pour toute réponse et aide que vous m'apporterais.
Partager