Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Uscita con tasto esc

Hybrid View

  1. #1
    è una semplice GUI (classe swing).

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Giovanni255 Visualizza il messaggio
    è una semplice GUI (classe swing).
    Se hai un JFrame e vuoi realizzare la chiusura tramite tasto Escape, la cosa più completa e generale che si può fare è applicare un key-binding al JRootPane del frame.
    Abbozzato:

    codice:
    public class MyFrame extends JFrame {
        //....
    
        public MyFrame() {
            //.......
    
            JRootPane rootPane = getRootPane();
            KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
            rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(stroke, "escape-per-chiudere");
            rootPane.getActionMap().put("escape-per-chiudere", new AbstractAction() {
                public void actionPerformed(ActionEvent actionEvent) {
                    dispose();
                }
            });
        }
    
        //.......

    La stringa "escape-per-chiudere" è arbitraria, purché sia abbastanza significativa/distintiva. Serve solo per fare da "ponte" tra il KeyStroke e la Action.
    La gestione del Escape è generale per tutto il frame, indipendentemente da quale componente ha il focus .... a meno che un componente specifico non gestisca e consumi l'Escape per conto suo.
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.