Java: interdire le copier/coller dans un JTextArea
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:
{mostip}
//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());
{/mostip}
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:
{mostip}
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();
}
} ;
{/mostip}
Bien sur, rien ne vous empêche de créer un composant personnalisé.
Nadir Boussoukaia
http://nadir.is.online.fr Propulsé par Joomla! Généré: 25 May, 2017, 05:15
1 / 1 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !