IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Le contenu de mon panel ne s'affiche pas quand je clique sur le menu voulu


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 7
    Points : 10
    Points
    10
    Par défaut Le contenu de mon panel ne s'affiche pas quand je clique sur le menu voulu
    Pouvez vous ce qui fait que je n'ai pas le résultat voulu à partir de ce code. A savoir que j'ai mis la fonction main dans une classe à part. J'ai placé un bouton "Ajouter" sur le pan2 qui doit s'afficher quand on clique sur le menu2.
    Merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.ButtonGroup;
    import javax.swing.JCheckBoxMenuItem;
    import java.awt.Color;
    import java.awt.GridLayout;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JPanel;
    import javax.swing.JButton;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JRadioButtonMenuItem;
     
    public class Fenetre extends JFrame implements ActionListener {
     
    	//CREATION DU MENU
    private JMenuBar menuBar = new JMenuBar();
    private JMenu menu1 = new JMenu("Facturation");
    private JMenu menu2 = new JMenu("Articles");
    private JMenu menu3 = new JMenu("Journal");
    private JMenu menu4 = new JMenu("Perso");
     
    // Sous menu
    private JMenuItem item1 = new JMenuItem("Définitive");
    private JMenuItem item12 = new JMenuItem("Proforma");
     
    JPanel pan1 = new JPanel(); // instanciation de notre objet jpanel
    JPanel pan2 = new JPanel();
    JPanel pan3 = new JPanel();
    JPanel pan4 = new JPanel();
     
    private JButton bouton_ajout = new JButton("+ Ajouter");
     
    public Fenetre(){
    this.setTitle("anKara");
    this.setSize(400, 500);
    this.setLocationRelativeTo(null);
     
     
     
    //pan.setBackground(Color.GRAY);
    this.setContentPane(pan1); //On prévient notre JFrame que notre JPanel pan1 sera son content pane
     
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    //Attribution des items au menu correspondant
    this.menu1.add(item1);
    this.menu1.add(item12);
     
     
    //Définition du menu
    this.menuBar.add(menu1);
    this.menuBar.add(menu2);
    this.menuBar.add(menu3);
    this.menuBar.add(menu4);
    this.setJMenuBar(menuBar);
     
    menu1.addActionListener(this);
     
     
    menu2.addActionListener(this);
    //positionnement du bouton Ajouter
    pan2.setLayout(null);
    pan2.add(bouton_ajout);
    bouton_ajout.setBounds(2,10,100,40);
     
    getContentPane().add(pan2);
     
     
    this.setVisible(true);
    }
     
     
    // Fonction swap pour changer l'affichage selon le menu
    public void swap(JPanel newContainer) {
    	JPanel content = (JPanel) getContentPane();
    	content.removeAll();
    	content.add(newContainer);
    	content.revalidate();
    	content.repaint();
    }
     
    public void actionPerformed(ActionEvent e) {
    	if (e.getSource() == this.menu1) {
    		swap(this.pan1);
    	} else if (e.getSource() == this.menu2) {
    		swap(this.pan2);
    	}	
    	else if (e.getSource() == this.menu3) {
    		swap(this.pan3);
    	}
    	else if (e.getSource() == this.menu4) {
    		swap(this.pan4);
    	}
    }
     
    }

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Normalement les entrées de menu de la barre de menu ne sont pas censées lancer des actions, donc leur "action listener" n'est pas sollicité au clic. Tu peux utiliser un MenuListener à la place :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    menu2.addMenuListener(new MenuListener() {
     
    	@Override
    	public void menuSelected(MenuEvent e) {
    		if (e.getSource() == menu1) {
    			swap(pan1);
    		} else if (e.getSource() == menu2) {
    			swap(pan2);
    		}	
    		else if (e.getSource() == menu3) {
    			swap(pan3);
    		}
    		else if (e.getSource() == menu4) {
    			swap(pan4);
    			}
    	}
     
    	@Override
    	public void menuDeselected(MenuEvent e) {
    		// TODO Auto-generated method stub
     
    	}
     
    	@Override
    	public void menuCanceled(MenuEvent e) {
    		// TODO Auto-generated method stub
     
    	}
    });
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2019
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Comores

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2019
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    Merci Beaucoup Joel.drygo.
    It Works

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. mon panel ne s'affiche pas!
    Par aurelie689 dans le forum Débuter
    Réponses: 1
    Dernier message: 22/05/2009, 13h30
  2. [VBA] Ma fonction ne se lance pas quand je clique sur mon bouton
    Par MeHo_ dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/03/2008, 16h28
  3. [SimpleXML] Le contenu de mon élément ne s'affiche pas
    Par alliance dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 08/05/2006, 20h27
  4. Mon dessin ne s'affiche pas au lancement...
    Par Deedier dans le forum MFC
    Réponses: 6
    Dernier message: 02/05/2005, 16h29
  5. [JApplet]mon applet ne s'affiche pas.
    Par yannick56 dans le forum Applets
    Réponses: 6
    Dernier message: 27/05/2004, 17h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo