Boutton droit

diaa_h Messages postés 10 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 14 juin 2006 - 14 juin 2006 à 02:08
cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 - 14 juin 2006 à 09:20
  Bonsoir,


    j'aimrais avoir un boutton droit  dés que je clique sur la souris avec le boutton droit et il s'affiche : copier,coller,selectionner,supprimer...


                   c'est urgent et merci bq a+

1 réponse

cs_ducheseb Messages postés 344 Date d'inscription mardi 18 mai 2004 Statut Membre Dernière intervention 23 juin 2006 9
14 juin 2006 à 09:20
Il faut utiliser un MouseListener.
Exemple avec une classe PopupListener dérivant de MouseListener

Cet exemple permet d'afficher le menu contextuel sur les JTextField et les JTextArea avec activation/désactivation des commandes couper-copier si il y a du texte sélectionné ou non.

MouseListener popup_l = new PopupListener();
et l'ajouter sur les composants où tu veux avoir le menu contextuel.
name.addMouseListener(popup_l);

class PopupListener extends MouseAdapter {

    public void mousePressed(MouseEvent e) {
      maybeShowPopup(e);
    }
    public void mouseClicked(MouseEvent e) {
      maybeShowPopup(e);
    }
    public void mouseEntered(MouseEvent e) {}
    public void mouseExited(MouseEvent e) {}
    public void mouseReleased(MouseEvent e) {}
    private void maybeShowPopup(MouseEvent e) {
      JTextField jtf = null;
      try {
        jtf = (JTextField) e.getComponent();
        if (jtf.isEnabled() && jtf.isVisible()) {
          objet1 = e.getComponent();
        }
      }
      catch (Exception ee) {}
      try {
        jtf = (JTextField) objet1;
        if (e.getButton() == e.BUTTON3) {
          if (jtf.isFocusable() && jtf.isEnabled()) {
            jtf.requestFocus();
            if (jtf.getSelectedText() == null) {
              couper.setEnabled(false);
              copier.setEnabled(false);
            }
            else {
              couper.setEnabled(true);
              copier.setEnabled(true);
            }
            if (jtf.isEnabled() && jtf.isVisible()) {
              popup.show(e.getComponent(), e.getX(), e.getY());
              System.out.println(MonCal.newCal(e.getX(), e.getY()));
            }
          }
        }
        if (e.getButton() == e.BUTTON1) {
          if (jtf.isFocusable() && jtf.isEnabled()) {
            jtf.requestFocus();
            if (jtf.getSelectedText() == null) {
              cut.setEnabled(false);
              copy.setEnabled(false);
            }
            else {
              cut.setEnabled(true);
              copy.setEnabled(true);
            }
          }
        }
      }
      catch (Exception ee) {}
      JTextArea jta = null;
      try {
        jta = (JTextArea) e.getComponent();
        if (jta.isEnabled() && jta.isVisible()) {
          objet1 = e.getComponent();
        }
      }
      catch (Exception e1) {}
      try {
        jta = (JTextArea) objet1;
        if (e.getButton() == e.BUTTON3) {
          if (jta.isFocusable() && jta.isEnabled()) {
            jta.requestFocus();
            if (jta.getSelectedText() == null) {
              couper.setEnabled(false);
              copier.setEnabled(false);
            }
            else {
              couper.setEnabled(true);
              copier.setEnabled(true);
            }
            if (jta.isEnabled() && jta.isVisible()) {
              popup.show(e.getComponent(), e.getX(), e.getY());
            }
          }
        }
        if (e.getButton() == e.BUTTON1) {
          if (jta.isFocusable() && jta.isEnabled()) {
            jta.requestFocus();
            if (jta.getSelectedText() == null) {
              cut.setEnabled(false);
              copy.setEnabled(false);
            }
            else {
              cut.setEnabled(true);
              copy.setEnabled(true);
            }
          }
        }
      }
      catch (Exception ee) {}
    }
  }

"A game is a series of interesting choices." Sid Meier
0
Rejoignez-nous