Bonjour
Comment fait on pour créer un référence sur un objet? (comme en C lorsqu on cree un pointeur sur une variable)
merci
Version imprimable
Bonjour
Comment fait on pour créer un référence sur un objet? (comme en C lorsqu on cree un pointeur sur une variable)
merci
En Java, pas de pointeur ! Je te conseil de lire quelques tutoriels d'initiation, surtout si tu viens du C, car certaines bases élémentaires sont très différentes.
Va voir sur la page des tutoriels Java. Je te conseil celui là, destiné aux débutants. Bonne chance.
Non distinction, en java tout est pointeur (donc à l'utilisation pas de pointeur explicite)
j'ai déjà quelques notions en java.
Je vais donc poser ma question différemment.
j ai une classe qui implemente une JFrame.
Dans ma JFrame j ai une Jtable dont les elements affichés sont contenus dans un ArrayList.
j'ai un bouton ajouter qui ouvre une autre JFrame et qui me permet d'ajouter un objet dans mon ArrayList (via un formulaire)
Une fois que j'ai remplie le formulaire comment fait on pour ajouter l'objet dans le ArrayList?
En effet quand j essaie de faire "monArrayList." netBeans ne connais pas l'objet.
Déjà, une classe étends une autre classe, et implémente une interface. Une classe n'implémente pas une autre classe, donc attention au vocabulaire employé. De plus, pour réaliser ce que tu veux faire, il faut que tu disposes d'une référence de ton objet ArrayList pour pouvoir réaliser des actions dessus. Donc si tu as deux classes distinctes, une pour la JFrame avec le tableau, et l'autre qui permet d'ajouter des objets, tu dois "donner" la variable ArrayList de la prémière classe à la deuxième. Tu peux la mettre dans le constructeur. Exemple :Tu remplaces myArrayList par le nom de variable que tu as donné à ton ArrayList quand tu la créais. Bonne chance.Code:
1
2
3
4
5
6
7
8
9 //Constructeur de la 2e JFrame private ArrayList monArrayList; public MySecondJFrame(ArrayList list) { this.monArrayList = list; } //Puis, dans la première frame, quand tu crées la deuxième JFrame MySecondJFrame mySecondJFrame = new MySecondJFrame(myArrayList);
donc si je fait un : monArrayList.add(monObjet) dans ma 2e JFrame sa modifiera en fait myArrayList de la 1er JFrame?
En fait non, cela ne changera que l'ArrayList de ta deuxième classe. Si tu veux modifier directement l'ArrayList de la première classe, tu dois agir directement sur lui; cela donne :Et là, ça devrait être bon. Mais si tu ne veux pas agir sur cette variable durant le constructeur, tu devras trouver un autre moyen.Code:
1
2
3 public MySecondFrame(ArrayList list) { list.add(monObjet); }
LA réponse la plus directe à cette question est le package ref de java.lang détaillé dans le tutoriel DVP:yaisse2:Citation:
Envoyé par kimcharlene