Ciao a tutti vorrei fare un gioco in java (non un applet), e vorrei usare i tasti, come è possibile associare il KeyListener ad un JFrame o JWindow?
Grazie anticipatamente.
Ciao a tutti vorrei fare un gioco in java (non un applet), e vorrei usare i tasti, come è possibile associare il KeyListener ad un JFrame o JWindow?
Grazie anticipatamente.
Così...
Ciao.codice:public class MiaClasse extends JFrame { public MiaClasse() { addKeyListener( new KeyAdapter() { ... // metodi che si intende implementare di KeyListener }); } }![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Editato e corretto.codice:JFrame frame = new JFrame(); frame.addKeyListener(<oggetto KeyListener>); poi ridefinisci i metodi seguenti all'interno della classe dell'<oggetto KeyListener>: public void keyPressed(KeyEvent e) { // codice } public void keyReleased(KeyEvent e) { // codice } public void keyTyped(KeyEvent e) { // codice }
Altrimenti come suggerito da LeleFT, utilizzi la classe
KeyAdapter come da esempio.
Slack? Smack!
Grazie, io facevo cosi ma nn funzionava:
public class Game extends JFrame implements ActionListener,KeyListener{
....
this.addKeyListener(this);
Loops, è corretto quello che hai scritto,
ma all'interno di quella classe devi ridefinire
tutti i metodi delle interfacce che implementi.
Slack? Smack!
ok grazie x l aiuto![]()
Altra soluzione è quella di scrivere una classe che implementa KeyListener e di creare un oggetto di tale classe da utilizzare come KeyListener. In questo modo puoi usare più istanze dello stesso ascoltatore (oppure lo stesso ascoltatore) su più oggetti diversi.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Grazie LeleFT, faro' qualche prova![]()
Ho trovato perche nn funzonava, dovevo dargli il focus:
jf.requestFocus ();
![]()