Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1472 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Acceder à des objets d'une classe via une autre classe

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Acceder à des objets d'une classe via une autre classe

n°1300886
ceres02
Posté le 08-02-2006 à 00:05:50  profilanswer
 

Bonsoir,  
 
J'ai un petit problème dans ma concéption du language objet, problème auquel, je me suis retrouvé plusieurs fois confronté sans succès...
Je souhaiterais savoir quelles sont les diverses méthodes, pour que lorsque l'on a 2 classes (eventuellement 2 JFrame), à partir d'une action sur l'une, on puisse engendrer une modification (dans mon cas un repaint()) sur un ou plusieurs composants de l'autre.  
 
J'avais pensé au static, mais ce n'est pas propre et en plus pas viable dans mon cas car à la fermeture de la fenêtre en question, suivi de sa réouverture, le paintComponent a été "sauvegardé" à travers ces variables.
 

Code :
  1. public class okAction implements java.awt.event.ActionListener {
  2.            public void actionPerformed(java.awt.event.ActionEvent e) {
  3.                if(horlConfigEnable==true) {
  4.                         if(highField.getText().equals("" ) || lowField.getText().equals("" ) || iniOff.getText().equals("" ) || benchField.getText().equals("" )
  5.                         || pasField.getText().equals("" )) {
  6.                             JOptionPane.showMessageDialog(null, "Toutes les données n'ont pas été inscrites", "Erreur", JOptionPane.ERROR_MESSAGE);
  7.                         }
  8.                         else { pas=Integer.parseInt(pasField.getText());
  9.                                dureeSimuInitiale=Integer.parseInt(benchField.getText());
  10.                                System.out.println(pas);
  11.                                System.out.println(dureeSimuInitiale);
  12.                                dispose();
  13.                              }
  14.                }
  15.                else {
  16.                         if(benchField.getText().equals("" ) || pasField.getText().equals("" )) {
  17.                             JOptionPane.showMessageDialog(null, "Toutes les données n'ont pas été inscrites", "Erreur", JOptionPane.ERROR_MESSAGE);   
  18.                         }
  19.                         else { pas=Integer.parseInt(pasField.getText())*Rule.TEMPS;
  20.                                dureeSimuInitiale=Integer.parseInt(benchField.getText())*Rule.TEMPS;
  21.                                //FenetreSimulation.columnView.repaint();  
  22.                                //FenetreSimulation.chronogramme.repaint();  
  23.                                dispose();
  24.                              }
  25.               }
  26.         }
  27.     }


 
Je me retrouve donc avec une classe FenetreWizard, dans laquelle j'ai ajouté un ActionListener au bouton OK de telle sorte à ce qu'il mette à jour la valeur de certaines variables et à l'issu de cette mise à jour, je voudrais repeindre deux objets qui sont dans ma classe principale FenetreSimulation. Et je ne sais pas comment m'y prendre...
Puis je le faire à partir de mon ActionListener du bouton OK ? ou bien dois je me concentrer sur la classe principale ou encore sur la classe des objets en question ?
Pour une méthode comme pour l'autre, je n'ai pas d'idée concrete alors si quelqu'un pourrait m'apporter sa lumière, je lui en serrai reconnaissant !  :jap:  
 
Merci d'avance et bonne soirée.

mood
Publicité
Posté le 08-02-2006 à 00:05:50  profilanswer
 

n°1301592
Valkien
Posté le 08-02-2006 à 20:23:47  profilanswer
 

j'ai un peu survolé, et j'ai pas encore eu le courage de commencer à faire des interfaces graphiques mais il me semble que tu as juste a mettre
"nomdelobjetdelaclasseFenetreSimulation.Nomfonctiondanscetteclasse " dans ta fonction.
et la fonction devrait s'executer dynamiquement.
Si ta fonction ne se situe pas dans ta classe FenetreSimulation il te suffit juste de la recopier.
 
Je sais pas si c'est ce que tu demandes mais pour acceder à un objet TRUC d'une classe de nom Bêta avec un champs MACHIN et une primitive CHOSE, le tout à partir d'une classe de nom Alpha, pour peu que les classes soit dans le même repertoir/projet, tu tapes
 
Truc.MACHIN pour avoir la valeur du champ de cet objet.
OU
Truc.CHOSE() pour appeler la fonction CHOSE de Bêta à partir de Alpha, par exemple.
 
dans ton cas tu as surement mis FenetreSimulation f = new FenetreSimulation;
tu as juste as taper dans la fonction de ta classe FenetreWizzard  "f.repaint(); "
 
Mais en même temps j'ai pas commencer à utiliser javax... donc... je dits peut être n'importe quoi.


Message édité par Valkien le 08-02-2006 à 23:18:51

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Acceder à des objets d'une classe via une autre classe

 

Sujets relatifs
Comment lier un Vector d'objets "User" à une JList ?interroger interpréteur, liste objets créés hors du script.
[VB NET] Comment accéder à une base de donnée?accéder un a un pixel d'une image sous C++builder(borland)
[eclipse 3.1] Création de Jar -> trouve pas la classe mainASP.net Stocker des objets RW dans l'application state
Conseils classe phpImpossible d'accéder aux variables via POST
Methode d'une classe[C++] const / redéfinir un attribut d'une classe
Plus de sujets relatifs à : Acceder à des objets d'une classe via une autre classe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR