Newsgroup: it.comp.java
Titolo: Interfaccia KeyListener

Come devo modificare il seguente listato per far sě che quando premo
un qualsiasi tasto sulla tastiera mi esegua un determinato codice?
class KeyTypeListener implements KeyListener
{
    public void KeyTyped(KeyEvent e)
    {
         if(e.getKeyCode() == .............)    // Se viene premuto un tasto
qualsiasi esegui il codice
         {
             // codice
         }
    }
    // Metodi che non fanno niente
    public void KeyPressed(KeyEvent e) {}
    public void KeyReleased(KeyEvent e) {}
}
E poi utilizzo questo codice per intercettare l'evento nella classe in cui
mi serve:
Key Listener listener = new KeyTypeListener();
addKeyListener(listener);
Devo utilizzare VK_ALL_CANDIDATES o KEY_PRESSED al posto dei
puntini? E' corretto?
Grazie a tutti.
--
Ciauz!
L'altro fratello che non si firma mai

 puntini? E' corretto?
void this_keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_A && e.isAltDown()) {
    fai qualcosa
    }
}
ciao
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 puntini? E' corretto?
Non puoi semplicemente togliere l'IF?
...
 public void KeyTyped(KeyEvent e)
    {
         codice
     }
...
A che scopo processare l'evento se ti vanno bene tutti?
Ciao
Giacomo

 }
Grazie per avermi risposto.
Purtroppo anche questo metodo non funziona.
Il programma viene compilato e tutto funziona correttamente a parte
il fatto che i tasti premuti da tastiera non vengono minimamente
considerati; cioè qualsiasi tasto io prema non avviene ciò che io ho
scritto all'interno del metofo keyPressed. :-(((
Non funziona neanche se tolgo l'if (consiglio datomi da Giacomo Ciani)
Qual è allora il problema? Come posso far funzionare sto benedetto gestore
di eventi? (Tra l'altro quello del mouse non mi dà alcun tipo di problema).


 di eventi? (Tra l'altro quello del mouse non mi dà alcun tipo di
problema).
manca il focus?
ciao)o
--
Andrea
http://jame.sf.net

 scritto all'interno del metofo keyPressed. :-(((
Scrivo qui perché mi sembra vagamente inerente. A me é successo che
qualsiasi tasto premessi mi veniva restituito il codice 0 rendendo
evidentemente impossibile il riconoscimento del tasto premuto.
Mi è successo su Linux, su Windows non ho provato.
Qualcuno ha quache idea su come potrei fare?
Grazie
Matteo

 manca il focus?
Cioč? :-DDD
--
Ciauz!


 Qualcuno ha quache idea su come potrei fare?
Non sono capace di risolvere il tuo problema. Però volevo
chiederti se potevi postare il tuo codice che implementa l'interfaccia
KeyListener.
Grazie!
--
Ciauz!


 Cioč? :-DDD
Component.requestFocus()
dai un'occhiata alla calsse java.awt.Component


 dai un'occhiata alla calsse java.awt.Component
Non che abbia capito molto il suo funzionamento. :-)))
Non č che potresti farmi un esempio breve breve?!? :-DDDD
Grazie.
--
Ciauz!


 KeyListener.
Eccolo qua, non implementa KeyListener ma estende KeyAdapter
textField.addKeyListener(new KeyAdapter() {
       public void keyPressed(KeyEvent e) {
         if(e.getKeyCode()==KeyEvent.VK_ENTER)
           funzione();
       }
});
Questo codice funziona solo se implemento keyPressed e non keyTyped. Nel mio
caso non è grave, ma non capisco perché.
Per non funziona intendo che funzione() (scusate il terrbile gioco di
parole) non viene eseguito quando premo enter, e che e.getKeyCode()
restituisce sempre 0.
Ciao
Matteo