Home Programmazione Java 2D - Guida completa Capitolo 05: Catturare gli eventi da mouse e tastiera.

Page Rank Check    





Ultimi articoli

Capitolo 05: Catturare gli eventi da mouse e tastiera.
Guide di programmazione - Java 2D - Guida completa
Scritto da RedBaron85   
Sabato 30 Gennaio 2010 18:45

Guida alla programmazione delle GUI, interfacce grafiche in Java 2D - 5: catturare gli eventi da mouse e tastiera


Capitolo 05: Catturare gli eventi da mouse e tastiera.

In questo capitolo parleremo della gestione degli eventi generati mediante mouse e tastiera.

 

Per gestire gli eventi da tastiera abbiamo a disposizione i seguenti strumenti:

  • KeyEvent, classe utilizzata per definire gli eventi (Java 'mappa' i tasti della tastiera su di un insieme di costanti predefinite);
  • KeyListener, listener (interfaccia) degli eventi, che ci 'obbliga' a riscrivere tre metodi;
  • KeyAdapter, classe Adapter che ci consente di riscrivere solo i metodi che ci servono dei tre 'obbligatori' di Listener.

 

 

Iniziamo dal set di costanti di KeyEvent: tali costanti sono tutte del tipo

  • VK_A, ..., VK_Z --- per le lettere (NOTA: VK sta per 'virtual key', 'tasto virtuale', ad indicare che si tratta della rappresentazione interna di Java);
  • VK_0, ..., VK_9 --- per i tasti numerici;
  • VK_PAGE_UP, VK_PAGE_DOWN, ...  --- tutti gli altri tasti hanno nomi specifici;

più altri valori che consentono di verificare se sono stati attivati dei modificatori (shift, ctrl, alt, ...); per un elenco completo, si rimanda alla documentazione ufficiale.

 

 

KeyEvent ci permette di individuare quale tasto è stato premuto mediante i metodi:

getKeyCode()   :   int Restituisce il valore (vd. costanti predefinite sopra) associato al tasto premuto.
getKeyChar()   :   char Restituisce il valore letterale (char) del tasto premuto.
getKeyText(int code)   :   String (metodo statico) Restituisce il valore sotto forma di String del codice di tasto passato come parametro.

 

I metodi di KeyListener da implementare sono i seguenti:

keyPressed(keyEvent e)    :   void Pressione di un tasto.
keyReleased(keyEvent e)   :   void Tasto rilasciato.
keyTyped(keyEvent e)   :   void Tasto 'digitato'.

 

Nel prossimo capitolo vedremo come creare e visualizzare un JFrame: potrete implementare e testare l'interfaccia KeyListener partendo dalla classe che verrà presentata in quella sede (per verificare la cattura degli eventi, potete utilizzare il metodo System.out.println per stampare a video un messaggio).

 

 

In maniera del tutto analoga a quanto visto per la tastiera, è possibile gestire gli eventi generati mediante mouse con i seguenti strumenti:

  • MouseEvent; classe utilizzata per definire gli eventi;
  • MouseListener, MouseMotionListener, MouseInputListener; vari listener (interfacce) delle azioni effettuate dal mouse (il più utilizzato, comunque, è il primo: MouseListener);
  • MouseAdapter, MouseMotionAdapter, MouseInputAdapter; classi adapter che implementano i listener appena elencati.

 

La classe MouseEvent fornisce i seguenti metodi per recuperare alcune informazioni utili:

getButton()   :   int Restituisce il codice del bottone premuto.
getClickCount()   :   int Restituisce il numero di click 'consecutivi' effettuati.
getPoint()   :   Point Restituisce le coordinate del pixel cliccato su schermo organizzate sotto forma di oggetto Point.
getX()   :   int Restituisce la coordinata X del pixel cliccato su schermo.
getY()   :   int Restituisce la coordinata Y del pixel cliccato su schermo.

Implementando MouseListener, occorrerà riscrivere i seguenti metodi (significati ovvi):

  • mouseClicked(MouseEvent e)   :   void
  • mouseEntered(MouseEvent e)   :   void
  • mouseExited(MouseEvent e)   :   void
  • mousePressed(MouseEvent e)   :   void
  • mouseReleased(MouseEvent e)   :   void

 

 

Una considerazione relativa al mouse: in Java è possibile impostare l'aspetto che dovrà assumere il cursore del mouse al passaggio sulle varie componenti.

La classe che gestisce l'aspetto del cursore è Cursor, con costruttore principale:

Cursor(int type)    :    void

mentre, per impostare il cursore di un componente, bisogna utilizzare il metodo di Component:

setCursor(Cursor c)   :   void

Java mette a disposizione diversi cursori predefiniti, tutti identificati mediante costanti intere definite nella classe Cursor (è a tali costanti che fa riferimento il parametro intero type presente nel costruttore di Cursor precedentemente trattato); è comunque possibile creare aspetti personalizzati per il cursore del mouse mediante il metodo di Toolkit:

createCustomCursor(Image cursor, Point hotSpot, String name)   :   Cursor

che permette di impostare l'Image cursor passata come parametro come aspetto visivo del cursore, hotSpot come punto sensibile e name come nome.

Tags:     programmazione      guide      manuali      corso      j2d      java 2d      gui      interfacce      capitolo 5 eventi mouse      eventi tastiera      event
Ultimo aggiornamento Domenica 22 Gennaio 2012 18:25
 

Ti è piaciuto questo articolo ? Condividilo !



RedBaron85.com Forum community banner

Non hai trovato quello che cercavi ?
Ricerca personalizzata
Copyright © 2012 RedBaron85.com: Informatica, CG 2D e 3D, Blender, Python, Java 2D e 3D, 3D Studio e altro ancora!. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.

Milanese Francesco - Partita IVA: 04950350878

AltroArticoliblog utentiBlueprintsContestenglishProgrammazioneModelliElencoNewsTexturesTutorialsVideotutorials