Pregunta sobre java, jtextfield – ¿Cómo puedo prevenir CTRL + C en un JTextField en java?

1

¿Cómo puedo evitar que un usuario copie el contenido de un JTextField?

Tengo lo siguiente, pero no puedo encontrar una manera de obtener varias claves al mismo tiempo.

myTextField.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
  char c = e.getKeyChar();
  if (!Character.isDigit(c)) {
    e.consume();
  }
}
});

Tu respuesta

1   la respuesta
2

tendrá que modificar su KeyAdapter para que pueda registrarse cuando se presionó una tecla y cuando se soltó, para que podamos saber cuándo se presionaron ambas teclas simultáneamente, el siguiente código debería hacer el truco:

textfield.addKeyListener(new KeyAdapter() {
        boolean ctrlPressed = false;
        boolean cPressed = false;

        @Override
        public void keyPressed(KeyEvent e) {
            switch(e.getKeyCode()) {
            case KeyEvent.VK_C:
                cPressed=true;

                break;
            case KeyEvent.VK_CONTROL:
                ctrlPressed=true;
                break;
            }

            if(ctrlPressed && cPressed) {
                System.out.println("Blocked CTRl+C");
                e.consume();// Stop the event from propagating.
            }
        }

        @Override
        public void keyReleased(KeyEvent e) {
            switch(e.getKeyCode()) {
            case KeyEvent.VK_C:
                cPressed=false;

                break;
            case KeyEvent.VK_CONTROL:
                ctrlPressed=false;
                break;
            }

            if(ctrlPressed && cPressed) {
                System.out.println("Blocked CTRl+C");
                e.consume();// Stop the event from propagating.
            }
        }
    });

Solo estaba agregando esto a uno de mis JTextFields.

¡Gracias esto funciona perfectamente! helloWorldB
¿Mente mostrándonos cómo? el ejemplo anterior funciona bastante bien. Basilio German
simple respuesta incorrecta por qué anular el acceso directo de KeyBindings incorporado por KeyListener, el problema es que puede garantizar a los oyentes que ordenen, mKorbel
Oh. Gracias por aclarar mis hechos. JHS

Preguntas relacionadas