Comment communiquer entre deux classes java?

bernidupont Messages postés 21 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 1 décembre 2012 - 11 déc. 2008 à 09:48
bernidupont Messages postés 21 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 1 décembre 2012 - 11 déc. 2008 à 20:54
Bonjour tout le monde,


j'ai cherché partout mais je n'ai rien réussi à trouver. J'espère que vous pourrez m'aider.
Mon problème est que je veux créer 2 classes :
une qui créer un algorithme qui va permetttre d'actualiser, la deuxième classe qui est une interface, où je souhaiterais acualiser un JTable.
Savez vous comment procéder?
Merci d'avance pour votre aide,
à bientôt, berni.

6 réponses

dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
11 déc. 2008 à 15:04
Re,

Bon, primo, attention au vocabulaire, quand tu dis interface, ça peut être confondu avec une interface et non une interface graphique comme tu veux dire (le mot clé "interface", tu sais)

Bref, sinon, ben dans ta premiere classe, celle contenant ta frame, il te suffit de créer un objet de ta deuxieme classe et de créer dans cette deuxieme classe une méthode qui rajoute une ligne à ta JTable.
Alors, après tu vas être confronté aux problèmes des interfaces graphiques, c'est-à-dire que ta JTable ne va pas se rafraichir automatiquement, mais bon pour ça il y a des moyens que je te laisse découvrir par toi même  (bon si tu galères tu le dis hein )

bonne chance

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
1
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
11 déc. 2008 à 10:13
Salut,

Alors euh... Plus flou que ça, tu meurs.
Comment communiquer entre 2 classes...
Quand tu dis que ta deuxieme classe est une interface, c'est une interface, le mot clé ou une interface, interface graphique?
Je me méfis là.
Sinon, euh, t'as eu des cours sur la portée des classes, les héritages etc...?

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
bernidupont Messages postés 21 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 1 décembre 2012
11 déc. 2008 à 14:46
Salut, désolé pour ne pas avoir préciser les détails, je vais t'expliquer davantage...

Alors déjà,  les deux classes lancées, sont :
                - pour la première : un algorithme contenant une petite interface contenant seulement un bouton.
                - pour la deuxième : une interface graphique dans laquelle est placé une JTable contenant des lignes une file d'attente d'un magasin.

En fait, lorsque je lance mon algorithme (auquel est associé la petite interafce), il instancie la classe Interface. Mon interface contient une Jtable qui représente une file d'attente de client. 

Mon but:
 je souhaiterais, lorsque je clique sur le bouton de la petite interface de mon algorithme (qui ajoute un client ), mettre à jour la JTable de mon instance de la classe interface qui comportera une ligne en plus, car il y aura alors un client de plus dans la file d'attente.

J'espère que c'est clair pour vous. Ce serait super que vous me donniez une solution, car je suis blqué et je ne sais plus comment avancer.

Merci, berni.
0
bernidupont Messages postés 21 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 1 décembre 2012
11 déc. 2008 à 15:20
J'ai voulu expliquer mon problème en inventant un autre, mais je crains mettr'être emmêler les pinceaux!
C'est le contraire que je cherche à faire:
en fait, lorsque tu instancie la classe Interface (classe fille) lors de l'exécution de la classe Algorithme (classe mère), comment faire pour modifier un élément de l'instance de la classe mère depuis l'instance de la classe fille?

Voilà c'est ça le vrai problème que j'aurais dû énoncer depuis le début.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
11 déc. 2008 à 15:27
Ok ok.

Et bé dans la classe mère tu créés un accesseur aux éléments que tu souhaites modifier, des getter si tu préfères et quand tu créés l'instance de ta classe fille, tu passes en paramètre du constructeur ta classe mère (this) et dans la classe fille tu auras un objet correspondant à ta classe mère.
Si tes 2 classes sont dans le même package, tu peux mettre les getter protected, sinon tu dois les mettre public.
Attention aux effets de bords.
Genre tu voudrais modifier le titre du bouton de la classe mère depuis la classe fille

objetDeLaClasseMere.getBouton().setText("coucou");

Je sais pas si c'est très très propre tout de même....

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
bernidupont Messages postés 21 Date d'inscription samedi 1 décembre 2012 Statut Membre Dernière intervention 1 décembre 2012
11 déc. 2008 à 20:54
Ah oui! je n'avais pas pensé à faire comme ça! J'ai essayé et ça marche parfaitement!
Merci beaucoup!
@ bientôt, berni ;-)
0
Rejoignez-nous