Comment gérer mes JFrame avec les JMenuBar

VersLeBut Messages postés 25 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 11 février 2010 - 27 mai 2009 à 01:04
manlap Messages postés 17 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 28 juin 2010 - 29 mai 2009 à 13:31
   Salut tout le monde ,je suis débutante en java et meme en Graphique .
J'aimerai réaliser une application qui contient un grand nombre de JFrame (client ,article,fournisseur...)
et je veux les gérer avec des JMenuBar ,c à d ,la premiere fenetre affichée sera une JFrame General qui va contenir juste une image de welcome et un JMenuBar ,de sotre que si on clique sur client le jframe  client va s'affiché avec le meme JMenu Bar et le JFrame General va se cacher

   le probleme c'est avec mon code je sais pas comment faire ça ,au début j'ai séparé le tout ,mais comme c'était  déficile à gérer avec un grand nombre de classe ,j'ai pensé à rassembler le tout dans une seule classe et dans le main
Dite moi comment faire pour savoir quelle  itemMenu à été cliqué et comment faire afficher une JFrame et caché l'autre ,je connais les methodes qu'il faut utilisé pour ça mais avec mon code je ne n'arrive pas sà le faire,j'obtiens toujours des erreurs
voila mon code aidez moi s'il vous plait (ne vous moquer pas de  moi je suis au début et c'est pas la version finale )
import java.awt.Button;
import java.awt.Event;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import javax.swing.*;

public class Version2SimpleFenetre  {
   

     private static final long    serialVersionUID    = 1802199483736051124L;

   
    public static void main(String[] args){
        JMenuBar  MyJMenuBar=new JMenuBar();
        JMenu menuFile = new JMenu("File");
        menuFile.setMnemonic('f');
     
      
        JMenuItem itemMenu = new JMenuItem("Client");
        itemMenu.setMnemonic('C');
        itemMenu.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
            
           }});
        menuFile.add(itemMenu);
        itemMenu = new JMenuItem("Fournisseur");
        itemMenu.setMnemonic('F');
        itemMenu.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
            }});
        menuFile.add(itemMenu);
        itemMenu = new JMenuItem("Article");
        itemMenu.setMnemonic('A');
        itemMenu.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
         }});
        menuFile.add(itemMenu);
        MyJMenuBar. add(menuFile);
        JMenu menuFile2 = new JMenu("Vente");
        menuFile2.setMnemonic('V');
        itemMenu = new JMenuItem("Vente");
        itemMenu.setMnemonic('V');
        itemMenu.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
               // System.exit(0);
            }
        });
        menuFile2.add(itemMenu);
        MyJMenuBar. add(menuFile2);
        JMenu menuFile3 = new JMenu("Récéption");
        menuFile3.setMnemonic('R');
        itemMenu = new JMenuItem("Récéption");
        itemMenu.setMnemonic('R');
        itemMenu.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
               // System.exit(0);
            }
        });
        menuFile3.add(itemMenu);
        MyJMenuBar.add(menuFile3);
        JMenu menuFile4 = new JMenu("Consultation");
        menuFile4.setMnemonic('C');
        MyJMenuBar.add(menuFile4);
        itemMenu = new JMenuItem("Client");
        itemMenu.setMnemonic('C');
        itemMenu.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
               // System.exit(0);
            }
        });
        menuFile4.add(itemMenu);
        itemMenu = new JMenuItem("Fournisseur");
        itemMenu.setMnemonic('F');
        itemMenu.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
            }});       
        menuFile4.add(itemMenu);
        itemMenu = new JMenuItem("Article");
        itemMenu.setMnemonic('A');
        itemMenu.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
            }});
        menuFile4.add(itemMenu);
        MyJMenuBar. add(menuFile4);
        JMenu menuFile5 = new JMenu("Aide");
        menuFile5.setMnemonic('A');
        itemMenu = new JMenuItem("Aide");
        itemMenu.setMnemonic('A');
        itemMenu.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
               // System.exit(0);
            }
        });
        menuFile5.add(itemMenu);
        MyJMenuBar. add(menuFile5);
        JMenu menuQuit = new JMenu("Quit");
        menuQuit.setMnemonic('q');
        JMenuItem Quit = new JMenuItem("Quit");
        Quit.setMnemonic('q');
        Quit.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                System.exit(0);
            }
           
        });
       
        menuQuit.add(Quit);
        MyJMenuBar.add(menuQuit);
       
        JFrame FrameGeneral=new JFrame();
        FrameGeneral.setJMenuBar(MyJMenuBar);
        FrameGeneral. setTitle("Gestion de Stock"); //On donne un titre à l'application
        FrameGeneral.setSize(800,590); //On donne une taille à notre fenêtre
        FrameGeneral.setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
        FrameGeneral.setResizable(true); //On interdit la redimensionnement de la fenêtre
        FrameGeneral.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
        FrameGeneral.setVisible(true);
        JFrame FrameClient=new JFrame();
       
      //  FrameClient.add(MyJMenuBar);
       
      
       
      
        JPanel client = new JPanel();
        Label hide=new Label("");
        hide.setSize(12,13);
         hide.hide();
        client.add(hide);
        TextField Hide = new TextField(10);
        Hide.hide();
        client.add(Hide);
        Label code=new Label("               Code");
        code.setSize(12,13);
     
        client.add(code);
        TextField Code = new TextField(20);
        client.add(Code);
         // add(client);
        //add(client);
        Label libelle=new Label("               Libellé");
        libelle.setSize(12,13);
        client.add(libelle);
        //add(client);
        TextField Libelle = new TextField(20);
        client.add(Libelle);
        //add(client);
      
        Label prix=new Label("               Prix de vente");
        prix.setSize(12,13);
        client.add(prix);
        //add(client);
        TextField Prix = new TextField(20);
        client.add(Prix);
       // add(client);
        Label unite=new Label("               Unité");
        unite.setSize(12,13);
        client.add(unite);
       // add(client);
        TextField Unite = new TextField(20);
        client.add(Unite);
       // add(client);
       
        Label quantite=new Label("               Quantité seuil");
        quantite.setSize(12,13);
        client.add(quantite);
        //add(client);
        TextField Quantite = new TextField(20);
        client.add(Quantite);
        Panel boutton =new Panel();
        Button nouveau=new Button("Nouveau");
        boutton.add(nouveau);
        Button supprimer=new Button("Supprimer");
        boutton.add(supprimer);
        Button enregistrer=new Button("Enregistrer");
        boutton.add(enregistrer);
        Button fermer=new Button("Fermer");
        boutton.add(fermer);
         client.add(boutton);
         client.setLayout(new GridLayout(7,2,100,30));
         //boutton.setLayout(new FlowLayout(FlowLayout.CENTER));
    
         FrameClient.add(client);
        
         FrameClient.setJMenuBar(MyJMenuBar);
       
       
         FrameClient.setTitle("Gestion de Stock"); //On donne un titre à l'application
         FrameClient.setSize(800,590); //On donne une taille à notre fenêtre
         FrameClient.setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
         FrameClient.setResizable(true); //On interdit la redimensionnement de la fenêtre
         FrameClient.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
         FrameClient.setVisible(true);
       
      
}}

 ce code marche parfaitement ,mais c'est le début ,svp si quelqu'un  pourra me le corriger pour réalisé mon but ,c'est très urgent

1 réponse

manlap Messages postés 17 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 28 juin 2010
29 mai 2009 à 13:31
Bonjour,

Tu dois placer le code d'appel aux nouvelles fenêtres dans tous les

        itemMenu.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                 // Ici appeler les nouvelles fenêtres ...
           }});

Je pense qu'il vaut mieux que tu appelles des JDialog plustôt que d'autres JFrame.
0
Rejoignez-nous