Objet du main java

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. 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
    1. Il n'y a aucun moyen de pouvoir utiliser directement l'objet de mon main?
    2. @didy_gwatinikDans 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
    3. @batouneTrè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!!