Abarone.it Logo

Java, Come catturare i click della tastiera

KeyStroke: Mappare gli eventi associati al click di determinati tasti

In questo articolo andremo a vedere una piccola soluzione in Java che ci permetterà di rendere il nostro software ancora più professionali.

Andremo a vedere quindi come associare al click di determinati tasti della tastiera (scelti da noi), determinate azioni all'interno del nostro software .

Come già detto sopra, i tasti possono essere scelti a nostro piacimento.
Con questo breve codice, andremo in termini informatici a "mappare" una sequenza di tasti, tale per cui vogliamo che avvenga una qualche azione.
Per semplicità di cose trascrivo il codice da me creato qui a seguire:

Java

  1. public void scorciatoie(){
  2. getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK), "Chiudi"); // CTRL+Q per chiudere
  3. getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "Start");
  4. getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK), "Salva"); // CRLS+S per premere il pulsante calcola in base ai giorni lavorativi
  5. getRootPane().getActionMap().put("Chiudi", new AbstractAction() {
  6. @Override
  7. public void actionPerformed(ActionEvent ae) {
  8. dispose();
  9. }
  10. });
  11. getRootPane().getActionMap().put("Start", new AbstractAction() {
  12. @Override
  13. public void actionPerformed(ActionEvent ae) {
  14. // DO STUFF
  15. }
  16. });
  17. getRootPane().getActionMap().put("Salva", new AbstractAction() {
  18. @Override
  19. public void actionPerformed(ActionEvent ae) {
  20. soluzionepergiornilavorativi sp=new soluzionepergiornilavorativi();
  21. sp.actionPerformed(ae);
  22. }
  23. });
  24. }

Come Possiamo vedere, il metodo sopra ci permetterà di eseguire delle operazioni al click di determinati tasti sulla tastiera, ad esempio cliccando sulla sequenza di tasti "CTRL+Q" il nostro programma verrà chiuso, mentre cliccando su "CTRL+S" andremo a richiamare un evento ActionListener e quindi andremo a simulare ciò che avverrebbe cliccando un pulsante sulla nostra interfaccia grafica.

Tutto questo si traduce in un ottimizzazione del software da parte di chi lo usa, tutto ciò consente infatti all'utilizzatore di risparmiare parecchio tempo e quindi aumenta anche la piacevolezza generale del nostro software.
A presto con nuove guide

barone.antonio@libero.it