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

Signaler
Messages postés
98
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
30 décembre 2019
-
Hamster18
Messages postés
98
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
30 décembre 2019
-
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.

1 réponse

Messages postés
98
Date d'inscription
mercredi 2 janvier 2019
Statut
Membre
Dernière intervention
30 décembre 2019

Utiliser une viewList et la méthode :
ObservableList selectedIndices = listDeCarte2.getSelectionModel().getSelectedIndices();
Object objetSelectionne = listDeCarte2.getSelectionModel().getSelectedItem();
Carte carteJoueur= (Carte) objetSelectionne;