Oppure

Loading
17/06/12 11:04
upitusu
ciao a tutti,

dopo aver creato un pannello con un JLabel, un JTextField, ed un bottone start vorrei avviare il metodo direttamente alla pressione "Invio" ma non riesco a leggere la pressione del tasto sulla tastiera...

campo_codice.addKeyListener(new KeyAdapter(){    
      public void KeyPressed(KeyEvent e){
        if(e.getKeyCode()==KeyEvent.VK_ENTER){
           System.out.println("Ho premuto invio");  
        }
      }
    });


campo_codice è il JTextField sul quale ho attivato il keyListener... ma niente!!! Dove sbaglio?? :(
aaa
17/06/12 13:19
davide94
Ciao ho provato a eseguire il codice e come previsto non va :)
Il motivo è abbastanza semplice , il JtextField non usa gli KeyListener,ecc. al contrario del JPanel. Io avevo già provato con un mouseListener per un JScrollPane e non funzionava.
Comunque per il tuo problema, la soluzione è semplice.
Usi ActionListener che è attivato con la pressione del tasto enter nel jtextfield.
Oppure add un KeyListener al JPanel e da li' se preme tasto invio acquisisci il testo contenuto nel jtextfield.
Tuttavia un modo deve esserci anche se lo ignoro, nel usare i keyListener,ecc. dei vari componenti.
aaa
17/06/12 14:06
upitusu
Effettivamente hai ragione! Ho inserito il listener sul JTextFiel e funziona. Facendo una ricerca su internet però ho visto che si può catturare la pressione dei tasti tramite la funzione KeyPressed comunque anche così va bene!!

:)
aaa