Necesito habilitar un botón al hacer clic en Ctrl + A en la tabla
-
14-10-2019 - |
Pregunta
Estoy tratando de habilitar un JButton al pulsar la tecla "Ctrl + A" en un JTable para seleccionar todas las filas, así que ejecuta este código:
myTable.addKeyListener( new KeyListener() {
@Override
public void keyReleased(KeyEvent e) {
if( e.getKeyCode() == KeyEvent.VK_A && ( e.getModifiers() & InputEvent.CTRL_MASK ) != 0 ) { // User clicked (CTRL + A) in table.
if( myTable.getRowCount() > 1 )
myButton.setEnabled( true );
}
}
});
El problema es que muchas veces esto no funciona ... Cada vez que todas las filas de la tabla se seleccionan bien, pero el botón no está activado! Tengo que hacer clic en la tecla "Ctrl + A" 3 o 4 veces para que esto funcione. ¿Hay algo en que yo debería saber, o una mejor idea para que esto funcione?
Solución
Trate overridding keyPressed
en lugar de keyReleased
.
Otros consejos
o una mejor idea para que esto funcione?
Usted debe estar utilizando Key Bindings , no un KeyListener .
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow