Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JAVA] Assegnare un listener di un tasto al frame, e JMenu

    Ciao sto creando una programma con una serie di Internal Frame e vorrei che schiacciando il pulsante F10 in una qualsiasi posizione, non necessariamente quando sono all'interno di una JTextField, di un Internal Frame attivo o di un Dialog mi esegua una serie di comandi. Dove devo assegnare il listener?

    Un'altra informazione nel Desktop frame ho una serie di menu io vorrei che quando clicco su un JMenuItem oltre ad aprirmi l'Internal frame assegnato mi chiuda qualsiasi Internal frame aperto.

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di Mods
    Registrato dal
    Jun 2004
    Messaggi
    302
    Quel ke stai cercando credo sia la classe KeyStroke.

    Adesso sono un po' arruginito, ma se non ricordo male devi creare un KeyStroke del tasto F10. E poi lo aggiungi alla KeyMap del content panel col relativo listener.
    Dovrebbe essere una roba del tipo:

    codice:
    KeyStroke k=KeyStroke.getKeyStroke(KeyEvent.VK_F10, 0);
    tuoContentPane.getInputMap().put(k,"nomeAzione");
    tuoContentPane.getActionMap().put("nomeAzione",tuoListener);
    Per la domanda successiva basta ke becchi tutti i frames richiamando il metodo getAllFrames() del DesktopPane e poi li chiudi con dispose().
    Ci sono 10 tipi di persone al mondo: quelli che conoscono il codice binario, e quelli che non lo conoscono!

  3. #3
    Ho provato il seguente codice ma mi dà errore:

    KeyStroke k = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
    pannelloInserimento.getInputMap().put(k,dispose()) ;

    l'errore è il seguente:
    Error#300: method put(javax.swing.KeyStroke,void) not found in class javax.swing.InputMap at line 693, column 39.


    Perchè?


    Per la seconda soluzione ho inserito in un frame il seguente comando:
    theDesktop.getAllFrames();
    e poi a cosa devo associare l'azione dispose()?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.