Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > fr.comp.lang.java > #1685
| Newsgroups | fr.comp.lang.java |
|---|---|
| From | David Larochette <david@Myriam-Debian.home> |
| Subject | Re: Désactiver Ctrl+C, Ctrl+X et Ctrl+V |
| References | <5ab71d60$0$7588$426a34cc@news.free.fr> <p990pv$iq1$1@cabale.usenet-fr.net> <5ab87d44$0$31637$426a74cc@news.free.fr> |
| Message-ID | <slrnpbip4l.3ne.david@larochette.me> (permalink) |
| Date | 2018-03-26 21:22 +0000 |
| Organization | Guest of ProXad - France |
Le 26-03-2018, jp <bloiiing@yahoo.invalid.com> a écrit :
> Le Sun, 25 Mar 2018 22:28:46 +0200, Olivier Miakinen a écrit :
>
>> Bonjour,
>>
>> Le 25/03/2018 05:54, jp a écrit :
>>>
>
>> Je ne suis sûr de rien, mais n'y aurait-il pas moyen de capturer les
>> saisies au clavier et de filtrer les évènements pour ne pas les
>> transmettre aux éléments suivants ? Note que si cette méthode fonctionne
>> il te faudra aussi filtrer Ctrl+Inser et Shift+Inser pour interdire tout
>> copier coller.
>
> Oui mais comment?
>
>> Mais j'ai une petite question annexe : pour quelle raison interdire
>> cette fonctionnalité ? Ne pas l'avoir est *très* désagréable pour
>> l'utilisateur.
>
> Ce ne serait pas dans tout le logiciel. Seulement au niveau de ma JList.
>
> J'ai trouvé ça sur le net:
>
> import java.awt.EventQueue;
> import java.awt.event.ActionEvent;
> import java.awt.event.ActionListener;
> import java.awt.event.KeyEvent;
>
> import javax.swing.JComponent;
> import javax.swing.JEditorPane;
> import javax.swing.JFrame;
> import javax.swing.JScrollPane;
> import javax.swing.KeyStroke;
> import javax.swing.ScrollPaneConstants;
>
> //Intercepting Ctrl+v demo
>
> public class TestEditorPane {
> private JEditorPane editorPane;
>
> public static class CombinedAction implements ActionListener {
> private final ActionListener action1;
> private final ActionListener action2;
>
> public CombinedAction(ActionListener action1, ActionListener
> action2) {
> super();
> this.action1 = action1;
> this.action2 = action2;
> }
>
> @Override
> public void actionPerformed(ActionEvent e) {
> if (action1 != null) {
> action1.actionPerformed(e);
> }
> if (action2 != null) {
> action2.actionPerformed(e);
> }
> }
>
> }
>
> public TestEditorPane() {
> }
>
> private void initUI() {
> JFrame frame = new JFrame();
> frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
> // JTEXTBOX
> editorPane = new JEditorPane();
> KeyStroke ctrlV = KeyStroke.getKeyStroke(KeyEvent.VK_V,
> KeyEvent.CTRL_DOWN_MASK);
// Il y a aussi VK_COPY, VK_CUT et VK_PASTE pour les claviers
// qui possèdent physiquement ces touches.
> final ActionListener ctrlVAction =
> editorPane.getActionForKeyStroke(ctrlV);
> editorPane.registerKeyboardAction(new CombinedAction(ctrlVAction,
> new ActionListener() {
>
> @Override
> public void actionPerformed(ActionEvent e) {
> System.out.println("This is my action on CTRL+V");
> //Effectivement ça permet une action, mais le Ctrl-V à
e.consume(); // Et l'objet qui a émis l'évènement
// l'ignorera
> }
> }), ctrlV, JComponent.WHEN_FOCUSED);
> // JSCROLLPANE
> JScrollPane scroll1 = new JScrollPane(editorPane);
> scroll1.setHorizontalScrollBarPolicy
> (ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
> scroll1.setVerticalScrollBarPolicy
> (ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
> frame.add(scroll1);
> frame.setSize(400, 400);
> frame.setVisible(true);
> }
>
> public static void main(String[] args) {
> EventQueue.invokeLater(new Runnable() {
> @Override
> public void run() {
> try {
> TestEditorPane test = new TestEditorPane();
> test.initUI();
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
> });
> }
>
> }
>
>> P.-S. : à moins que tu n'utilises vraiment l'adresse bloiiing.invalid
>> chez yahoo.com, le .invalid est au mauvais endroit : il faudrait prendre
>> plutôt bloiiing@yahoo.com.invalid ou bloiiing@yahoo.invalid si cette
>> adresse n'est pas valide.
>
> Ok. Rectifié.
>
Back to fr.comp.lang.java | Previous | Next — Previous in thread | Next in thread | Find similar
Désactiver Ctrl+C, Ctrl+X et Ctrl+V jp <bloiiing.invalid@yahoo.com> - 2018-03-25 03:54 +0000
Re: Désactiver Ctrl+C, Ctrl+X et Ctrl+V Olivier Miakinen <om+news@miakinen.net> - 2018-03-25 22:28 +0200
Re: Désactiver Ctrl+C, Ctrl+X et Ctrl+V jp <bloiiing@yahoo.invalid.com> - 2018-03-26 04:55 +0000
Re: Désactiver Ctrl+C, Ctrl+X et Ctrl+V Olivier Miakinen <om+news@miakinen.net> - 2018-03-26 14:44 +0200
Re: Désactiver Ctrl+C, Ctrl+X et Ctrl+V jp <bloiiing@yahoo.invalid> - 2018-03-27 11:35 +0000
Re: Désactiver Ctrl+C, Ctrl+X et Ctrl+V David Larochette <david@Myriam-Debian.home> - 2018-03-26 21:22 +0000
Re: Désactiver Ctrl+C, Ctrl+X et Ctrl+V jp <bloiiing@yahoo.invalid> - 2018-03-27 11:32 +0000
Re: Désactiver Ctrl+C, Ctrl+X et Ctrl+V David Larochette <david@Myriam-Debian.home> - 2018-03-27 22:47 +0000
csiph-web