Objectifs de ce site
Ce site me sert à publier:
  • mes supports de cours
    • des notes techniques et autres
This website is intended to publish:
  • My courses docs
  • some technical notes and the like

Java: interdire le copier/coller dans un JTextArea ( Translate to English ) Convertir en PDF Version imprimable
Appréciation des utilisateurs: / 0
FaibleMeilleur 
Ecrit le 13-08-2011 (9844 hits) ... section Java

pour interdire la fonction copier/coller dans un  JTextField en java (marche avec tous les héritier de JTextComponent), il y a plusieurs méthodes.
 Passer par une surcharge des raccourcis clavier:
 

Tip
//pas de copier/coller
    JTextComponent.KeyBinding[] newBindings = {
        new JTextComponent.KeyBinding(
          KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),
          DefaultEditorKit.beepAction),
        new JTextComponent.KeyBinding(
          KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK),
          DefaultEditorKit.beepAction),
        new JTextComponent.KeyBinding(
            KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),
            DefaultEditorKit.beepAction)
      };
 
Keymap k = textArea.getKeymap();
JTextComponent.loadKeymap(k, newBindings, textArea.getActions());

Mais le plus sur est carrément de surcharger les fonctions correspondantes. En effet, il y a plusieurs moyens de copier/coller, on oublie toujours les vieux raccourcis de Windows 2.0:

  •     CTRL+C mais aussi CTRL+INS
  •     CTRL+V mais aussi SHIFT+INS

 
 voici donc la méthode inviolable:


Tip
      JTextArea textArea = new JTextArea()
                      {
                          @Override
                          public void cut() {
                               Toolkit.getDefaultToolkit().beep(); //Envoi un retour sonore
                          }
 
                          @Override
                          public void copy() {
                               Toolkit.getDefaultToolkit().beep();
                          }
 
                          @Override
                          public void paste() {
                               Toolkit.getDefaultToolkit().beep();    
                          }
 
                      }  ;
 

Bien sur, rien ne vous empêche de créer un composant personnalisé. Sealed

commentaire(s)

Commenter
  • Veuiller laisser un commentaire en relation avec l'objet.
  • Please keep the topic of messages relevant to the subject of the article.
Nom:
Titre:
BBCode:Web Address Email Address Load Image from Web Bold Text Italic Text Underlined Text Quote Code Open List List Item Close List
Commentaire:



This image contains a scrambled text, it is using a combination of colors, font size, background, angle in order to disallow computer to automate reading. You will have to reproduce it to post on my homepage
Enter what you see: *
tips: hit Reload page before writing a text if you have difficulty reading characters in image

 
Suivant >
 

Navigation
Home
Contacts
Développement
Logistique de projet
Bases de données
Systèmes
Réseaux & Télécom
Outils
Reliques
Téléchargement
Recherche
Plan du site
Administration
Agenda Online
Page cours IUT GTR
Syndicate
Login





Mot de passe oublié ?
Skin
fjt_cortrivenus
Visites

Sites amis
View Nadir BOUSSOUKAIA's profile on LinkedIn
Mes photos