Bonsoir,
J'ai un problème, j'ai un programme de Memory, lors de l'ouverture du fichier, on choisie la difficulté puis la partie se créée (git du Memory en question :https://github.com/FlamySpeeddraw/Memory PS:Seule la difficultée Custom avec 20 cartes fonctionne pour l'instant). La partie se base sur un fichier FXML qui contient des 'Group' avec dans chaque 'Group' deux 'ImageView' et un 'TextField' avec chacun un ID:
Dans mon controller j'instaure donc mes nodes avec @FXML et je les places dans des tableau pour pouvoir y accéder facilement plus tard :
Cependant, lorsque j'ai besoin d'utiliser plus tard ces nodes, le code me retourne une erreur : java.lang.NullPointerException: Cannot invoke "javafx.scene.image.ImageView.setImage(javafx.scene.image.Image)" because "this.nomCarte[this.count]" is null
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @FXML private TextField id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, id12, id13, id14, id15, id16, id17, id18, id19, id20; @FXML private Group n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20; @FXML private ImageView carte1, carte2, carte3, carte4, carte5, carte6, carte7, carte8, carte9, carte10, carte11, carte12, carte13, carte14, carte15, carte16, carte17, carte18, carte19, carte20; @FXML private ImageView dos1, dos2, dos3, dos4, dos5, dos6, dos7, dos8, dos9, dos10, dos11, dos12, dos13, dos14, dos15, dos16, dos17, dos18, dos19, dos20; TextField[] nomId={id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, id12, id13, id14, id15, id16, id17, id18, id19, id20}; Group[] nomGroup={n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20}; ImageView[] nomCarte={carte1, carte2, carte3, carte4, carte5, carte6, carte7, carte8, carte9, carte10, carte11, carte12, carte13, carte14, carte15, carte16, carte17, carte18, carte19, carte20}; ImageView[] nomDos={dos1, dos2, dos3, dos4, dos5, dos6, dos7, dos8, dos9, dos10, dos11, dos12, dos13, dos14, dos15, dos16, dos17, dos18, dos19, dos20};
En faisant plusieur test je me rends compte que tous les élèments des tableaux sont null alors que les nodes associés à ce tableau non. Donc par exemple, carte1.setVisible(true); fonctionne alors que nomCarte[0].setVisible(true); ne fonctionne pas.
System.out.print(carte1); me renvoie : ImageView[id=carte1, styleClass=image-view]
System.out.print(nomCarte[0]); me renvoie : null
J'aimerai cependant que nomCarte[0] me renvoie ImageView[id=carte1, styleClass=image-view]. Et je n'arrive pas à comprendre comment faire.
Si vous pouviez m'aider à comprendre ce serai super,
Merci d'avance !
Partager