Botón de ajuste de tecla de acceso tecla de eventos sin tener que usar ALT

Hay una manera de configurar un botón de evento clave en Java por lo que Alt no tiene que ser presionado. Por ejemplo, cuando se utiliza setMnemonic(KeyEvent.VK_DELETE) es necesaria para Alt + Eliminar para ser presionado en la aplicación. ¿Cómo puedo evitar esto? Gracias.

InformationsquelleAutor John | 2012-01-08

2 Kommentare

  1. 10

    Me gustaría echar un vistazo a la los atajos de teclado tutorial. Puede especificar cualquier KeyStroke para realizar cualquier Action.

    • +1, el Swing fue diseñado para ser utilizado con los atajos de teclado.
  2. -1

    Crear un KeyListener, o extender un KeyAdapter. Como este:

    private class MnemonicWorkaround extends KeyAdapter{
    
         @Override
         public void keyPressed(KeyEvent e) {
            int c = e.getKeyCode();
            if(c == KeyEvent.VK_ENTER){
             //do something.
            }
          }
      }

    A continuación, agregar el uso de component.addKeyListener(new MnemonicWorkaround());

    • Acaba de ser cuidadoso de que el componente para añadir el detector, y si se ha / mantiene el foco.
    • -1 para keyListener, es inútil aquí (como casi siempre)
    • ¿Por qué es casi siempre inútil?
    • porque son de tan bajo nivel que ellos no pueden hacer lo que se requiere 😉 La regla general es que ir a por el más alto de abstracción disponibles (que son combinaciones de teclas en este contexto)

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea