Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [java] KeyListener

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    92

    [java] KeyListener

    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.

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    Così...
    codice:
    public class MiaClasse extends JFrame {
       public MiaClasse() {
          addKeyListener( new KeyAdapter() {
             ... // metodi che si intende implementare di KeyListener
          });
       }
    }
    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    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
    }
    Editato e corretto.
    Altrimenti come suggerito da LeleFT, utilizzi la classe
    KeyAdapter come da esempio.
    Slack? Smack!

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    92
    Grazie, io facevo cosi ma nn funzionava:

    public class Game extends JFrame implements ActionListener,KeyListener{
    ....

    this.addKeyListener(this);

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    Loops, è corretto quello che hai scritto,
    ma all'interno di quella classe devi ridefinire
    tutti i metodi delle interfacce che implementi.
    Slack? Smack!

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    92
    ok grazie x l aiuto

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,303
    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

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    92
    Grazie LeleFT, faro' qualche prova

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2003
    Messaggi
    92
    Ho trovato perche nn funzonava, dovevo dargli il focus:

    jf.requestFocus ();


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.