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 :

problème menu édition


Sujet :

AWT/Swing Java

Vue hybride

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 112
    Par défaut problème menu édition
    Dans mon programme, j'ai créé un menu édition où il y a les fonctions classiques : couper, copier, coller,Supprimer et Sélectionner tout.
    Néanmoins, j'ai quelques problèmes.
    En effet, j'ai mis des raccourcis clavier pour chaque fonction (Ctrl+X, Ctrl+C, Ctrl+V, Ctrl+Delete et Ctrl+A) qui fonctionnent. Mais lorsque je clique dessus dans le menu, l'action ne s'effectue pas.

    Voici le code pour ce menu :
    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
          JMenu menuEdition = new JMenu ();
        menuEdition.setEnabled (true);
        menuEdition.setText ("Edition");
        menuEdition.setLabel ("Edition");
     
        JMenuItem jmiCouper = new JMenuItem ();
        jmiCouper.setText ("Couper");
        jmiCouper.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_X, InputEvent.CTRL_MASK)) ;
        menuEdition.add(jmiCouper);
     
        JMenuItem jmiCopier = new JMenuItem ();
        jmiCopier.setText ("Copier");
        jmiCopier.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_C, InputEvent.CTRL_MASK)) ;
        menuEdition.add(jmiCopier);
     
        JMenuItem jmiColler = new JMenuItem ();
        jmiColler.setText ("Coller");
        jmiColler.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_V, InputEvent.CTRL_MASK)) ;
        menuEdition.add(jmiColler);
     
        JMenuItem jmiSupprimer = new JMenuItem ();
        jmiSupprimer.setText ("Supprimer");
        jmiSupprimer.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_DELETE, InputEvent.CTRL_MASK)) ;
        menuEdition.add(jmiSupprimer);
     
        menuEdition.addSeparator();
     
        JMenuItem jmiToutSelect = new JMenuItem ();
        jmiToutSelect.setText ("Sélectionner tout");
        jmiToutSelect.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_A, InputEvent.CTRL_MASK)) ;
        menuEdition.add(jmiToutSelect);
     
        barreMenu.add(menuEdition);
    Merci d'avance pour votre aide.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Par défaut
    Dans ton code, tu ne fais qu'ajouter des accélérateurs à tes menus mais tu ne leur affectes aucune action
    C'est à toi de créer les action que tu veux et de les associer à tes menus...

    A voir: ActionListener, AbstractAction, l'actionMap de JComponent.
    Bonne lecture

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 112
    Par défaut
    J'ai mis des ActionListener mais bien sûr ça ne marche pas.
    Y'a-t-il des fonctions ou des méthodes pour copier, coller ou supprimer du texte?

    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
      JMenu menuEdition = new JMenu ();
        menuEdition.setEnabled (true);
        menuEdition.setText ("Edition");
        menuEdition.setLabel ("Edition");
     
        JMenuItem jmiCouper = new JMenuItem ();
        jmiCouper.setText ("Couper");
        jmiCouper.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_X, InputEvent.CTRL_MASK)) ;
        jmiCouper.addActionListener (new java.awt.event.ActionListener () {
            public void actionPerformed (java.awt.event.ActionEvent evt) {
              jmiCouper.cut();
            }
          });
        menuEdition.add(jmiCouper);
     
        JMenuItem jmiCopier = new JMenuItem ();
        jmiCopier.setText ("Copier");
        jmiCopier.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_C, InputEvent.CTRL_MASK)) ;
        jmiCopier.addActionListener (new java.awt.event.ActionListener () {
            public void actionPerformed (java.awt.event.ActionEvent evt) {
              jmiCopier.copy();
            }
          });
        menuEdition.add(jmiCopier);
     
        JMenuItem jmiColler = new JMenuItem ();
        jmiColler.setText ("Coller");
        jmiColler.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_V, InputEvent.CTRL_MASK)) ;
        jmiColler.addActionListener (new java.awt.event.ActionListener () {
            public void actionPerformed (java.awt.event.ActionEvent evt) {
              jmiColler.paste();
            }
          });
        menuEdition.add(jmiColler);
     
        JMenuItem jmiSupprimer = new JMenuItem ();
        jmiSupprimer.setText ("Supprimer");
        jmiSupprimer.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_DELETE, InputEvent.CTRL_MASK)) ;
        jmiSupprimer.addActionListener (new java.awt.event.ActionListener () {
            public void actionPerformed (java.awt.event.ActionEvent evt) {
              jmiSupprimer.delete();
            }
          });
        menuEdition.add(jmiSupprimer);
     
        menuEdition.addSeparator();
     
        JMenuItem jmiToutSelect = new JMenuItem ();
        jmiToutSelect.setText ("Sélectionner tout");
        jmiToutSelect.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_A, InputEvent.CTRL_MASK)) ;
        jmiToutSelect.addActionListener (new java.awt.event.ActionListener () {
            public void actionPerformed (java.awt.event.ActionEvent evt) {
              jmiToutSelect.selectAll();
            }
          });
        menuEdition.add(jmiToutSelect);

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Par défaut
    Je ne comprends pas bien ton pb.
    Tu veux travailler sur du texte mais je ne vois aucun composant en relation avec un quelconque "éditeur" de texte.
    Les méthodes cut, copy, paste,... n'existent pas sur des JMenuItem ! Comment ton code compile-t-il ?
    Si tu utilise des composants texte, regarde du côté du DefaultEditorKit.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 112
    Par défaut
    Justement, mon code ne marche pas.
    Existe-t-il des méthodes pour couper, copier, coller dans des JMenuItem?
    Si oui, lesquelles?
    Sinon, peux-tu m'aider stp?
    Je rappelle que les raccourcis clavier Ctrl+A, Ctrl+C... fonctionnent mais pas lorsque je clique sur couper ou copier dans le menu Edition.

  6. #6
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Par défaut
    Les JMenuItem ne sont que des items de menu ! (avec ça on est bien avancé ).
    Je veux dire qu'ils ne font de particulier eux-mêmes.
    Il te faut leur donner une action à exécuter.
    Pour cela, tu peut récupérer les actions par défaut de ton composant texte

Discussions similaires

  1. Réponses: 0
    Dernier message: 27/05/2009, 08h58
  2. [Dev-C++] Problème d'édition des liens
    Par shura dans le forum EDI
    Réponses: 5
    Dernier message: 30/08/2005, 09h35
  3. [html+css] problème menu avec liens display:block
    Par Cypselos dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 28/08/2005, 09h39
  4. Problème Menu CSS
    Par Kerod dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 28/04/2005, 20h32
  5. Problème à l'édition des liens avec BCC55 et Xerces
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/11/2003, 14h50

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