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

Composants Java Discussion :

Action sur un JMenu


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 56
    Par défaut Action sur un JMenu
    Bonjour à tous.

    Voici mon problème :
    J'ai créé une JMenuBar et je lui ait ajouté des JMenu, jusque là tout va bien.
    Mais j'ai un JMenu qui se nomme Quitter et ne contient pas de JMenuItem et je souhaiterais y ajouter un ActionListener mais apparemment ça ne fonctionne pas.
    Alors je me pose plusieurs question qui n'ont pas trouvé de réponses dans mes différentes recherches :

    Est-ce qu'un ActionListener est applicable à un JMenu ?
    Est-ce qu'un JMenu est le plus approprié pour ce que je veux en faire ?

    Je vous poste mon code au cas où :
    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
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
     
    package igEditeurSondage;
     
     
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
     
    import appli.metier.*;
    import appli.persistance.*;
     
    import java.util.Vector;
     
     
    class VueEditionSondage extends JFrame
    {
    	//Attributs pour les compsants de la fenêtre
    	private ControleurEditeurSondage ces;
    	private JPanel pTitreSondage, pMenuTitre, pBoutonsQuestion, pBoutonQuitter, pBoutons;
    	private JLabel lTitreSondage;
    	private JTextField tTitreSondage;
    	private JScrollPane sQuestions;
    	private JButton bAQ, bSQ, bTQ, bQuit;
    	private JMenuBar mbMenu;
    	private JMenu mQuestion, mSondage, mQuitter;
    	private JMenuItem miAQ, miSQ, miTQ, miNS, miCS, miSS;
    	private JList liQuestions;
     
    	public VueEditionSondage (String t, ControleurEditeurSondage _ces)
    	{
    		super (t);
    		this.ces = _ces;
     
    		//Définition de la fenêtre 
    		this.setBounds (360, 200, 500, 300); 
     
    		//Création et insertion des composants de la fenêtre
     
    			//JPanel contenant le titre du sondage et la JMenuBar
    			this.pMenuTitre = new JPanel ();
    			this.pMenuTitre.setLayout (new BorderLayout ());
    				//JMenuBar
    				this.mbMenu = new JMenuBar ();
    					//JMenu Question
    					this.mQuestion = new JMenu ("Question");
    						//JMenuItem
    						this.miAQ = new JMenuItem ("Ajouter Question");
    						this.miSQ = new JMenuItem ("Supprimer Question");
    						this.miTQ = new JMenuItem ("Tester Question"); 
    						this.mQuestion.add (this.miAQ);
    						this.mQuestion.add (this.miSQ);
    						this.mQuestion.add (this.miTQ);
    					//Jmenu Sondage
    					this.mSondage = new JMenu ("Sondage");
    						//JMenuItem
    						this.miNS = new JMenuItem ("Nouveau Sondage");
    						this.miSS = new JMenuItem ("Sauvegarder Sondage");
    						this.miCS = new JMenuItem ("Charger Sondage");
    						this.mSondage.add(this.miNS);
    						this.mSondage.add(this.miSS);
    						this.mSondage.add(this.miCS);
    					//Jmenu Quitter
    					this.mQuitter = new JMenu ("Quitter");
    				//Ajout des JMenu à la JMenuBar
    				this.mbMenu.add (this.mQuestion);
    				this.mbMenu.add (this.mSondage);
    				this.mbMenu.add (this.mQuitter);	
     
    			//Ajout de la JMenuBar dans le JPanel
    			this.pMenuTitre.add (this.mbMenu, BorderLayout.NORTH);
     
    				//JPanel contenant le titre du sondage
    				this.pTitreSondage = new JPanel ();
    				this.pTitreSondage.setLayout (new FlowLayout ());
    				this.lTitreSondage = new JLabel ("Titre du sondage :"); //Création des éléments à ajouter dans le JPanel
    				this.tTitreSondage = new JTextField (20);
    				this.pTitreSondage.add (this.lTitreSondage); //Ajout des éléments
    				this.pTitreSondage.add (this.tTitreSondage);
     
    			//Ajout du JPanel contenant le titre du sondage dans le JPanel 
    			this.pMenuTitre.add (this.pTitreSondage, BorderLayout.SOUTH);
     
    			//Ajout du JPanel dans la JFrame
    			this.add (this.pMenuTitre, BorderLayout.NORTH);
     
    			//JScrollPane contenant la JList 
    			this.liQuestions = new JList ();
    			this.sQuestions = new JScrollPane (this.liQuestions);
    			this.sQuestions.setHorizontalScrollBarPolicy (JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
           		this.sQuestions.setVerticalScrollBarPolicy (JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
     
    			this.add (this.sQuestions, BorderLayout.CENTER);
     
    			//JPanel contenant les boutons
    			this.pBoutons = new JPanel ();
    			this.pBoutons.setLayout (new BorderLayout ()); 
    				//JPanel contenant les boutons relatifs aux questions
    				this.pBoutonsQuestion = new JPanel ();
    				this.pBoutonsQuestion.setLayout (new FlowLayout ());
    				this.bAQ = new JButton ("Ajouter Question");
    				this.bSQ = new JButton ("Supprimer Question");
    				this.bTQ = new JButton ("Tester Question");
    				this.pBoutonsQuestion.add (this.bAQ);
    				this.pBoutonsQuestion.add (this.bSQ);
    				this.pBoutonsQuestion.add (this.bTQ);
    			//Ajout du JPanel contenant les boutons relatifs aux questions dans le JPanel contenant les boutons
    			this.pBoutons.add (this.pBoutonsQuestion, BorderLayout.NORTH);
    				//JPanel contenant le bouton Quitter
    				this.pBoutonQuitter = new JPanel ();
    				this.pBoutonQuitter.setLayout (new FlowLayout ()); 
    				this.bQuit = new JButton ("Quitter");
    			 	this.pBoutonQuitter.add (this.bQuit);
    			//Ajout JPanel contenant le bouton Quitter dans le JPanel contenant les boutons
    			this.pBoutons.add (this.pBoutonQuitter, BorderLayout.SOUTH);
     
    			//Ajout du JPanel dans la JFrame
    			this.add (this.pBoutons, BorderLayout.SOUTH);
     
     
     
     
    			//Création et abonnement pour la gestion d'évènement
     
    				//Quitter	
    				EcouteurQuitter eQ = new EcouteurQuitter (this);
    				this.bQuit.addActionListener (eQ);
    				this.mQuitter.addActionListener (eQ);
    	}
     
    	public void majAffVueEditionSondage ()
    	{
    			Vector <String> vQuestions;
    			int nbQuestions, i;
     
    			vQuestions = new Vector <String> ();
    			nbQuestions = this.ces.controleurGetSondage ().getNbQuestions();
     
    			for (i = 0; i < nbQuestions; i++)
    			{
    				vQuestions.add (this.ces.controleurGetSondage ().getQuestion(i).getQuestion());	
    			}
     
    			this.liQuestions.setListData (vQuestions);
     
    			if (vQuestions.size() > 0)
    			{
    				this.liQuestions.setSelectedIndex (0);
    			}
     
     
        }
     
    	public ControleurEditeurSondage getControleur ()
    	{
    		return this.ces;
    	}
     
     
     
    }

    Je vous remercie par avance de l'intérêt que vous porterez à ma question et vous souhaite un joyeux réveillon de Noël.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 56
    Par défaut
    Bonsoir, est-ce que quelqu'un aurait une petite idée car je n'ai toujours pas trouvé la solution. Merci d'avance.

  3. #3
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    Salut !

    Peut-être un MenuListner avec menuSelected...

    l'ennui c'est qu'il réagit aussi quand, ayant cliqué sur un autre menu, tu passes simplement le curseur de la souris dessus

    enfin, y'a probablement mieux, hein ?

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ou tout simplement utiliser un JMenuItem à la place d'un JMenu....
    Sachant qu'une JMenuBar est un container, tu peux ajouter n'importe quel composant à l'intérieur...

Discussions similaires

  1. [debutant] action sur un bouton
    Par EssaiEncore dans le forum ASP
    Réponses: 22
    Dernier message: 18/02/2005, 14h02
  2. actions sur chaine
    Par ericmart dans le forum ASP
    Réponses: 2
    Dernier message: 22/12/2004, 10h03
  3. [VB.NET] Action sur l'évènement IMPRESSION
    Par stephane93fr dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/04/2004, 17h03
  4. Pb d'action sur un clip
    Par bencasp dans le forum Flash
    Réponses: 4
    Dernier message: 22/10/2003, 17h11
  5. [Flash MX] Action sur un bouton
    Par WriteLN dans le forum Flash
    Réponses: 9
    Dernier message: 20/10/2003, 14h01

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