Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    JButton con click+tastiera

    Torno a tormentarvi

    Praticamente ho il bottone "cancella" che a seconda degli elementi cancellati può funzionare in modo diverso... Mi spiego meglio:
    - se clicco sul bottone con il tasto sinistro il programma mi chiede cosa voglio cancellare della roba selezionata (se da sotto o da sopra)
    - se schiaccio CTRL e poi clicco cancello la roba dalla JList "categories" (vedi immagine sotto)
    - se schiaccio ALT e poi clicco cancello la roba dalla JList "snippets"



    Come posso fare a rilevare l'evento "tasto + click"? In alternativa in che altro modo posso fare la stessa cosa?


    Grazie
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: JButton con click+tastiera

    Originariamente inviato da Alex'87
    Come posso fare a rilevare l'evento "tasto + click"?
    Se usi un ActionListener applicato al pulsante, allora sappi che ActionEvent ha un metodo getModifiers() che ritorna una combinazione di flag ALT_MASK, CTRL_MASK ecc....
    Vedi javadoc.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802

    Re: Re: JButton con click+tastiera

    Originariamente inviato da andbin
    Se usi un ActionListener applicato al pulsante, allora sappi che ActionEvent ha un metodo getModifiers() che ritorna una combinazione di flag ALT_MASK, CTRL_MASK ecc....
    Vedi javadoc.
    :O

    Ecco cosa serve

    Grazie
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Ho fatto una prova veloce ma non mi funziona... Cosa ho sbagliato?

    codice:
            deleteSnippetButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    if (e.getModifiers() == ActionEvent.CTRL_MASK)   {
                        System.out.println("CTRL");
                    }          
                }
            });
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Alex'87
    Ho fatto una prova veloce ma non mi funziona... Cosa ho sbagliato?
    Ho detto che è una combinazione di flag. Vuol dire che il valore è il risultato di una OR bitwise tra più possibili flag. La presenza di un flag va testata facendo una apposita AND del valore con il flag richiesto, testando che il risultato sia diverso da 0.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da andbin
    Ho detto che è una combinazione di flag. Vuol dire che il valore è il risultato di una OR bitwise tra più possibili flag. La presenza di un flag va testata facendo una apposita AND del valore con il flag richiesto, testando che il risultato sia diverso da 0.


    Adesso provo

    edit: capito, ora funziona! Grazie mille

    codice:
    if ((e.getModifiers() & ActionEvent.CTRL_MASK) != 0)   {
       System.out.println("CTRL");
    }
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

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