Récuperer la "carte" sélectionnée avec la méthode "onMouseClicked

Résolu/Fermé
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - Modifié le 30 nov. 2019 à 18:49
Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024 - 5 déc. 2019 à 15:17
Bonjour,
Me revoilà, je suis en train de réaliser une application java/javafx qui modélise un jeu de carte. Mon joueur à une liste de carte. Parmi c'est carte il peut en choisir une et en fonction de la carte choisi (et de la carte choisi par son adversaire) il perd ou gagne le manche. Mon problème et on moment ou je doit récupérer la valeur de la carte choisi. Je ne vois pas trop comment mit prendre, d'autant plus que je pense avoir un autre soucis pour effectuer cette action.

La liste de carte du joueur est afficher à l'écran par cette méthode :
Dans la la classe jeu.java je fait :
    @FXML
    private HBox listDeCarte;

    public void initialize(){
        listCarteJoueur = manche.carteListJoueur; //me permet de récupérer la liste de carte et la mettre dans une variable de la fenêtre
        listCarteAdverse = manche.carteListAdverse;
        listDeCarte.getChildren().addAll(manche.carteListJoueur);
    }



Dans la fenêtre fxml associé je fait :

                <HBox fx:id="listDeCarte" alignment="CENTER" spacing="10" onMouseClicked="#carteChoix">
                </HBox>


Cela me permet de faire apparaitre mes carte dans la vue mais j'ai pas la possibilité de les "cliquer" individuellement (et donc de récupe=érer leur valeur individuel)

Si je fait :

                <HBox fx:id="listDeCarte" alignment="CENTER" spacing="10">
                    <children>
                        <Carte fx:id="CarteJoueur1"  onMouseClicked="#carteChoix"></Carte>
                        <Carte fx:id="CarteJoueur2"  onMouseClicked="#carteChoix"></Carte>
                        <Carte fx:id="CarteJoueur3"  onMouseClicked="#carteChoix"></Carte>
                        <Carte fx:id="CarteJoueur4"  onMouseClicked="#carteChoix"></Carte>
                    </children>
                </HBox>


L'affichage ne change pas mais je plus effectuer l'action de onMouseClicked="#carteChoix", je pense que ça vient du fait que mes "Carte" ne soivent pas créer à l'écran, mais la je ne voit pas comment les créer et qu'elle récupère les valeur de ma "listDeCarte".

Je sais pas si j'ai été bien claire, si ce n'est pas le cas poser moi des question j'essayerai d'expliquer autrement.

Merci d'avance pour tout renseignent.

Cordialement.
A voir également:

1 réponse

Hamster18 Messages postés 178 Date d'inscription mercredi 2 janvier 2019 Statut Membre Dernière intervention 22 janvier 2024
5 déc. 2019 à 15:17
Utiliser une viewList et la méthode :
ObservableList selectedIndices = listDeCarte2.getSelectionModel().getSelectedIndices();
Object objetSelectionne = listDeCarte2.getSelectionModel().getSelectedItem();
Carte carteJoueur= (Carte) objetSelectionne;
0