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 :

[JMenuBar] Menu non affiché


Sujet :

AWT/Swing Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 38
    Points : 39
    Points
    39
    Par défaut [JMenuBar] Menu non affiché
    Bonjour à tous!

    Je ne suis pas un expert en java et je viens demander votre aide. Si je ne suis pas dans le bon forum, pourriez-vous m'indiquer lequel est le bon?

    Voilà, j'essaye d'ajouté un menu à une forme mais rien à faire, veux pas s'afficher. J'essaye de mettre un menu nommé "fichier" contenant la commande "quitter".

    Comment faire pour faire apparaîttre le menu et l'afficher et faire agir le "Quitter".

    D'autre part, à chaque fois que je lance le programme, une instance de java.exe apparaît. Un simple System.Exit(0) fonctionne en mode console et cela suffit pour libérer les ressources mais ici, l'instance de java.exe reste présent dans les processus.

    Voici le code source:

    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
     package tstmsg;
    import com.sun.swing.internal.plaf.metal.resources.metal;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.event.*;
     
    /**
     *
     * @author laurent
     * @description class controlleur de départ.
     */
    public class CtrlFrm extends  JFrame implements WindowListener, ActionListener
    {   private final int x=300;
        private final int y=100;
     
        JMenuBar   mb;
        JMenu     menuFichier;
        JMenuItem mnItemmenuFichierQuitter;
     
        //Constructor.
     
        /** Creates a new instance of Main */
        public CtrlFrm()
        {   menuFichier = new JMenu("Fichier");
            mnItemmenuFichierQuitter = new JMenuItem("Quitter");
            menuFichier.add (mnItemmenuFichierQuitter);
     
            mb      = new JMenuBar();       //Intensiation du menu.
            setJMenuBar (mb);
            menuFichier.add (mnItemmenuFichierQuitter);
            mb.add (menuFichier);
     
            setVisible(true);
            setTitle("Main Form");
            setSize(300,100);
        }
     
        public void windowActivated (WindowEvent e)
        {}
     
        public void windowClosed (WindowEvent e)
        {   this.dispose(); System.exit (0);  }
     
        public void windowClosing(WindowEvent e)
        {   this.dispose(); System.exit (0);  }
     
        public void windowDeactivated (WindowEvent e)
        {}
     
        public void windowDeiconified (WindowEvent e)
        {}
     
        public void windowIconified (WindowEvent e)
        {}
     
        public void windowOpened (WindowEvent e)
        {}
     
        public void actionPerformed(ActionEvent evt)
        {   String action = evt.getActionCommand();
            if (action.equals("Quitter"))
            { System.exit(0); }
        }
        public static void main(String[] args)
        {   new CtrlFrm();  }
     
    }
    Merci de votre aide.

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Essaye de mettre ton setJmenuBar après ton mb.add(menuFichier)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 38
    Points : 39
    Points
    39
    Par défaut
    Cela ne change rien.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 38
    Points : 39
    Points
    39
    Par défaut
    Mais est-ce que le fait de mélanger awt et swing change quelque chose ou non? Il y a un truc qui méchappe en tout cas.

  5. #5
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Sur le moment tu ne mélage pas de composants swing et awt (les listeners ne sont pas de scomposants graphiques à ce que je sache ...)

    Bpn sinon je vois le problème c'est tout bête: fais ton setSize avant sont setVisible(true);

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2003
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 11
    Points : 16
    Points
    16
    Par défaut
    Pour que le java.exe se termine quand tu ferme la fenetre tu dois ajouter un :

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Sinon la fenetre est juste invisible quand tu clique sur la croix (identique a faire un setVisible(false) )

    Pour le problème du menu qui apparait pas, met le setVisible() apres le setSize et le setTitle, ca devrait résoudre ton problème


    edit :
    le problème dans le code tel que tu l a écrit, est que tu implémente windowListener mais tu as oublié de faire dans le constructeur un :

    addWindowListener(this);

    du coup ta méthode windowClosed() n'est jamais appelée

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

Discussions similaires

  1. explorer.exe qui bug, fenêtre, menu et boutons non affichés
    Par oceanbigone dans le forum Windows XP
    Réponses: 12
    Dernier message: 09/12/2008, 23h50
  2. [APACHE 2] Images / Css Non affichée
    Par djshaker dans le forum Apache
    Réponses: 1
    Dernier message: 22/02/2006, 16h26
  3. [DoubleBuffering][JMenu] menu non afficher
    Par estacado dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 10/01/2006, 09h09
  4. [Quick Report] Valeur d'un champ existante mais non affichée
    Par navis84 dans le forum Bases de données
    Réponses: 1
    Dernier message: 31/03/2005, 10h15
  5. [CR 9] Mise en forme non affichée when null
    Par Yorglaa dans le forum Formules
    Réponses: 2
    Dernier message: 28/06/2004, 18h27

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