Bouton en Java

Bonjour,
je programme un projet en java, et je veux appeler un bouton a partir d'un item de mon menu mais ça ne passe pas c'est-a-dire le bouton n'apparait pas dans la fenêtre!!
Voici le code de la classde ma fenetre JFrame
public class accueil extends JFrame 
{
	private JMenuBar menuBar = new JMenuBar();
	private JMenu men1 = new JMenu("Adherents");
	private JMenu men2 = new JMenu("Livres");
	private JMenu men3 = new JMenu("Emprunt");
	private JMenu men4 = new JMenu("A propos");
	private JMenuItem item1 = new JMenuItem("Affichage adherents");
	private JMenuItem item2 = new JMenuItem("Rechercher adherents");
	private JMenuItem item3 = new JMenuItem("Affichage livres");
	private JMenuItem item4 = new JMenuItem("Rechercher livres");
	private JMenuItem item5 = new JMenuItem("Faire un emprunt");
	private JMenuItem item6 = new JMenuItem("Rendre livre");
	private JMenuItem item7 = new JMenuItem("Consulter enprunt");
	private JMenuItem item8 = new JMenuItem("Historique");
	
	public adherents adh = new adherents();
	
	public accueil()
	{
		this.setSize(400, 200);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setLocationRelativeTo(null);
			
		//On initialise nos menus
		//--------------------------
		//1er menu	
		this.men1.add(item1);
		item1.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent arg0) 
			{
				adh.initComponent();
			}				
		});
		this.men1.add(item2);
		//2eme menu
		this.men2.add(item3);
		this.men2.add(item4);
		//3eme menu
		this.men3.add(item5);
		this.men3.add(item6);
		this.men3.add(item7);
		this.men3.add(item8);
		//4eme menu
		men4.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent arg0) 
			{
				System.exit(0);
			}				
		});
		this.menuBar.add(men1);
		this.menuBar.add(men2);
		this.menuBar.add(men3);
		this.menuBar.add(men4);
		//-------------------------
		this.setJMenuBar(menuBar);		
	}
	
	//-------------------------------------
	public static void main(String[] main)
	{
		accueil fen = new accueil();
		fen.setVisible(true);
	}
}

et voici celui du bouton
public class adherents extends JFrame 
{
	private JLabel affiLabel;
	public mysql reque = new mysql();
	Object[][] data;
	
	public void initComponent()
	{
		JButton bouton = new JButton("Inscription");
		Container conteneur=null;
		bouton.setBounds(10,20,100,20);
		// on récupère le conteneur de la fenêtre
		conteneur=this.getContentPane();
		// on ajoute le bouton au conteneur
		conteneur.add(bouton);
		// on choisit un gestionnaire de mise en forme des composants dans ce conteneur
		conteneur.setLayout(null);
	}


MERCI D'AVANCE !!
Configuration: Windows XP
Firefox 3.5.7

6 réponses

  1. Contributeur
    Bonjour,

    Déjà juste un conseil réorganise ton code j'ai beau le lire 2 fois je comprends rien ^^

    Du type à quoi te sert d'avoir 2 classes qui dérivent des JFrame alors que tu n'as à l'écran qu'une seule Frame? Un JPanel suffirait.
    0
    1. salut !!
      donc il faut que je met un jpanel dans la class adherent !!
      mais comment le faire apparaitre dans la frame accueil ??!!
      j'ai essayer this.getContentPane().add(content (c'est le nom du Jpanel), BorderLayout.WEST);
      mais ça ne passe pas !!
      0
  2. Salut,
    je pense à un probleme de refreh de la fentre...mais j'ai essayé des trucs sans grand resultat..je vais voir si je trouve autre chose.....
    0
    1. oups désolé j'étais trop content !!
      les boutons apparait mais seulement quand le pointeur de la souris passe dessus !!
      il y 3 boutons + des jlabels !!
      
      		JButton insc = new JButton("Inscription");
      		JButton modi = new JButton("Modification");
      		JButton supp = new JButton("Suprimer");
      		Container conteneur=null;
      		insc.setBounds(10,20,100,20);
      		modi.setBounds(10,50,100,20);
      		supp.setBounds(10,80,100,20);
      		// on récupère le conteneur de la fenêtre
      		conteneur=mainFen.getContentPane();
      		// on ajoute le bouton au conteneur
      		conteneur.add(insc);
      		conteneur.add(modi);
      		conteneur.add(supp);
      		// on choisit un gestionnaire de mise en forme des composants dans ce conteneur
      		conteneur.setLayout(null);
      
      0
      1. oki merci beaucoup le bouton apparait ^_^ !!
        0
        1. Salut,
          je sais pas si j'ai bien compris...tu veux que le button apparaisse dans la fenetre accueil??
          Si oui, tu peux t'inspirer de cela....
          public class accueil extends JFrame
          {
          	private JMenuBar menuBar = new JMenuBar();
          	private JMenu men1 = new JMenu("Adherents");
          	private JMenu men2 = new JMenu("Livres");
          	private JMenu men3 = new JMenu("Emprunt");
          	private JMenu men4 = new JMenu("A propos");
          	private JMenuItem item1 = new JMenuItem("Affichage adherents");
          	private JMenuItem item2 = new JMenuItem("Rechercher adherents");
          	private JMenuItem item3 = new JMenuItem("Affichage livres");
          	private JMenuItem item4 = new JMenuItem("Rechercher livres");
          	private JMenuItem item5 = new JMenuItem("Faire un emprunt");
          	private JMenuItem item6 = new JMenuItem("Rendre livre");
          	private JMenuItem item7 = new JMenuItem("Consulter enprunt");
          	private JMenuItem item8 = new JMenuItem("Historique");
          
          	public adherents adh = new adherents(this);
          
          	public Main()
          	{
          		this.setSize(400, 200);
          		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          		this.setLocationRelativeTo(null);
          
          		//On initialise nos menus
          		//--------------------------
          		//1er menu
          		this.men1.add(item1);
          		item1.addActionListener(new ActionListener()
          		{
          			public void actionPerformed(ActionEvent arg0)
          			{
          				adh.initComponent();
          			}
          		});
          		this.men1.add(item2);
          		//2eme menu
          		this.men2.add(item3);
          		this.men2.add(item4);
          		//3eme menu
          		this.men3.add(item5);
          		this.men3.add(item6);
          		this.men3.add(item7);
          		this.men3.add(item8);
          		//4eme menu
          		men4.addActionListener(new ActionListener()
          		{
          			public void actionPerformed(ActionEvent arg0)
          			{
          				System.exit(0);
          			}
          		});
          		this.menuBar.add(men1);
          		this.menuBar.add(men2);
          		this.menuBar.add(men3);
          		this.menuBar.add(men4);
          		//-------------------------
          		this.setJMenuBar(menuBar);
          	}
          
          	//-------------------------------------
          	public static void main(String[] main)
          	{
          		accueil fen = new accueil();
          		fen.setVisible(true);
          	}
          }
           class adherents extends JFrame
          {
          	private JLabel affiLabel;
                  private accueil mainFen;
          	public mysql reque = new mysql();
          	Object[][] data;
          
              adherents(accueil aThis) {
                  this.mainFen=aThis;
              }
          
          	public void initComponent()
          	{
          
          		JButton bouton = new JButton("Inscription");
          		Container conteneur=null;
          		bouton.setBounds(10,20,100,20);
          		// on récupère le conteneur de la fenêtre
          		conteneur=mainFen.getContentPane();
          		// on ajoute le bouton au conteneur
          		conteneur.add(bouton);
          		// on choisit un gestionnaire de mise en forme des composants dans ce conteneur
          		conteneur.setLayout(null);
                          
          	}
          
          
           }
          

          @+
          0