Objet du main java

didy_gwatinik Messages postés 358 Statut Membre -  
didy_gwatinik Messages postés 358 Statut Membre -
Bonjour,
Mon problème est très simple et à mon avis très bête mais bon, comment faire pour accéder à un objet qui est dans mon main à partir de mes autres classes : j'aimerai accéder à appli à partir de JMenuLivre : voilà un appercu de mon code :

public class Principal {
 static void main(String[] args) {
		// TODO Auto-generated method stub
		Appli appli= new Appli();
	}

}


public class Appli extends JFrame{
	private ArrayList<Livre> listLivre;
	private  JFrame jFrame;
	public PanAbout pane = new PanAbout();
//constructeur et reste


public class JMenuLivre extends JMenu {
	private JFrame jfFrame;
	public JMenuLivre () {
//....
}


En gros j'aimerai pouvoir faire dans le constructeur de JMenuLivre le traitement suivant : jfFrame=appli.getJFrame(); Je ne vois pas comment faire!

Merci pour votre aide
Configuration: Windows XP
Firefox 3.0.10

1 réponse

  1. batoune Messages postés 558 Statut Membre 96
     
    sa fait longtemp que j'ai pas fait de JAVA mais pour que JMenuLivre est acces a des méthodes de Appli il me semble que il faut que lorsque tu crer JMenuLivre,que tu lui passe une reference vers Appli
    0
    1. didy_gwatinik Messages postés 358 Statut Membre 80
       
      Il n'y a aucun moyen de pouvoir utiliser directement l'objet de mon main?
      0
      1. batoune Messages postés 558 Statut Membre 96 > didy_gwatinik Messages postés 358 Statut Membre
         
        Ben sa dépent, tu crée JMenuLivre depuis ou?
        0
      2. didy_gwatinik Messages postés 358 Statut Membre 80 > batoune Messages postés 558 Statut Membre
         
        Dans ma classe Appli
        0
      3. batoune Messages postés 558 Statut Membre 96 > didy_gwatinik Messages postés 358 Statut Membre
         
        Dans ce cas tu dois avoir un truc qui ressemble a sa au moment ou tu crer un objet JMenuLivre :
        JMenuLivre jml= new JMenuLivre();

        Si mes souvenirs sont bon, tu doit pouvoir faire sa :
        JMenuLivre jml= new JMenuLivre(this); //ici normalement "this" correspond a Appli

        et du coup dans ta classe JMenuLivre, quand tu déclare tes variables tu fais
        par exemple :
        private Appli app;

        et tu fait ton constructeur comme sa :
        public JMenuLivre (Appli app) { // "Appli app" correspond au this passé en parametre
        this.app = app;
        //.....
        }

        et la si je me suis pas planter tu devrais avoir acces a toute les methodes de ton Objet Appli depuis JMenuLivre en fesant :
        app.laMethodeDeAppliQueTuVeux();

        Alors pare contre comme je l'ai dit sa fait longtemp que j'ai pas fait de JAVA donc c'est possible que sa ne marche pas tout a fait et qu il y est des truc a modifier dans ce que j'ai ecris, mais j'espere que sa pourra t'aider a résoudre ton probleme quand meme
        0
      4. didy_gwatinik Messages postés 358 Statut Membre 80 > batoune Messages postés 558 Statut Membre
         
        Très très fort, ça marche! merci beaucoup, pour quelqu'un qui n'a pas de JAVA depuis longtemps, je m'incline j'aimerai en savoir autant :).
        Encore merci!!
        0