Riprendiamo le guide sulla grafica e l'awt. Oggi parleremo delle classi Adapter. In modo da ottimizzare il codice,infatti quando implementavamo una qualsiasi interfaccia per la gestione eventi rimanevano metodi inutilizzati che , comunque dovevano essere ridefiniti. Quindi le classi Adapter implementano tale intefaccie e quando le ereditiamo possiamo liberamente decidere di ridefinire solo i metodi che ci servono. Per questo motivo vediamo come riscrivere l'applicazione che gestiva l'evento del mouse. Questa volta utilizzeremo i Frame.
I Frame
Nella gestione dei Frame dobbiamo tener conto anche di altri eventi. Appunto gli Eventi descritti nella classe WindowEvent. Ma per ora limitiamo a vedere come usare una classe Adapter comune. Iniziamo da MouseAdapter che implementa l'interfaccia MouseListener,descitta nella guida precedente.
Classe per la gestione evento mouse
Iniziamo a notare , che è ricomparso il main cosa che non è presente nelle Applet.
Nel main istanziamo la classe stessa appunto perché eredita da Frame , dopo aver creato la nostra finestra impostiamo le dimensioni e infine usiamo setVisible per mostrare la finestra. Le versioni precedenti a JDK 5 usavano un metodo obsolete che è Show, quindi per chi è abituato al Net , tale metodo in java non è più usato. Di seguito elenco alcuni metodi che potrebbero tornare utili nella gestione di un Frame
Ora passiamo al costruttore di Appexe
aggiungiamo il gestore MouseListener, facendoci restituire il riferimento della classe Gestore , che accetta come parametro la nostra classe.Quindi passiamo ad analizzare la classe che gestisce il click del mouse.
Il codice è estremamente semplice , ma non Ottimizzato infatti questa gestione d'eventi richiede uno spreco maggiore di memoria, ma è la versione più leggibile. Prima di ottimizzare questo codice dobbiamo gestire l'evento di chiusura del Frame a questo punto dovremmo lavorare con l'interfaccia WindowListener, ma come detto già sopra se implementiamo tale interfaccia dobbiamo ridefinire anche tutti e sette i metodi e ciò rende meno leggibile il codice, per questo motivo optiamo per la classe WindowAdapter. Quindi gestiamo semplicemente l'evento di chiusura
a questo punto nel costruttore di Appexe basta aggiungere :
Ottimizzare il codice
Ora passiamo a cercare di rendere il codice più compatto e ottimizzato , riducendo però la leggibilità di quest'ultimo. Ide come netbeans che permetto di creare interfaccie grafiche Drag&Drop scrivono sempre in maniera compatta ed ottimizzata , nel caso dovessimo scrivere parte dell'interfaccia manualmente o tutta l'interfaccia grafica è buona abitudine scrivere nel miglior modo possibile. Infatti le classi anonime senza nome vengono utilizzate moltissimo nel settore della GUI sia in ambito awt e java.swing. Infatti quest'ultime permettono di risparmiare nomi aggiuntivi , inutile righe di codice e l'importazione ripetitiva dei package awt e awt.event
Vediamo come riscrivere il programma precedente usando tale tecnica.
La leggibilità del codice si è ridotta moltissimo ,in quanto nello stesso metodo della funzione creiamo una classe senza nome e con all'interno i metodi che ci servono.Inoltre le Classi Interne possono accedere ai membri della classe nel quali sono contenute.
Con questo è tutto ci vediamo nella prossima guida :bye:
I Frame
Nella gestione dei Frame dobbiamo tener conto anche di altri eventi. Appunto gli Eventi descritti nella classe WindowEvent. Ma per ora limitiamo a vedere come usare una classe Adapter comune. Iniziamo da MouseAdapter che implementa l'interfaccia MouseListener,descitta nella guida precedente.
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Classe per la gestione evento mouse
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Iniziamo a notare , che è ricomparso il main cosa che non è presente nelle Applet.
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Nel main istanziamo la classe stessa appunto perché eredita da Frame , dopo aver creato la nostra finestra impostiamo le dimensioni e infine usiamo setVisible per mostrare la finestra. Le versioni precedenti a JDK 5 usavano un metodo obsolete che è Show, quindi per chi è abituato al Net , tale metodo in java non è più usato. Di seguito elenco alcuni metodi che potrebbero tornare utili nella gestione di un Frame
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ora passiamo al costruttore di Appexe
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
aggiungiamo il gestore MouseListener, facendoci restituire il riferimento della classe Gestore , che accetta come parametro la nostra classe.Quindi passiamo ad analizzare la classe che gestisce il click del mouse.
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Il codice è estremamente semplice , ma non Ottimizzato infatti questa gestione d'eventi richiede uno spreco maggiore di memoria, ma è la versione più leggibile. Prima di ottimizzare questo codice dobbiamo gestire l'evento di chiusura del Frame a questo punto dovremmo lavorare con l'interfaccia WindowListener, ma come detto già sopra se implementiamo tale interfaccia dobbiamo ridefinire anche tutti e sette i metodi e ciò rende meno leggibile il codice, per questo motivo optiamo per la classe WindowAdapter. Quindi gestiamo semplicemente l'evento di chiusura
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
a questo punto nel costruttore di Appexe basta aggiungere :
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ottimizzare il codice
Ora passiamo a cercare di rendere il codice più compatto e ottimizzato , riducendo però la leggibilità di quest'ultimo. Ide come netbeans che permetto di creare interfaccie grafiche Drag&Drop scrivono sempre in maniera compatta ed ottimizzata , nel caso dovessimo scrivere parte dell'interfaccia manualmente o tutta l'interfaccia grafica è buona abitudine scrivere nel miglior modo possibile. Infatti le classi anonime senza nome vengono utilizzate moltissimo nel settore della GUI sia in ambito awt e java.swing. Infatti quest'ultime permettono di risparmiare nomi aggiuntivi , inutile righe di codice e l'importazione ripetitiva dei package awt e awt.event
Vediamo come riscrivere il programma precedente usando tale tecnica.
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
La leggibilità del codice si è ridotta moltissimo ,in quanto nello stesso metodo della funzione creiamo una classe senza nome e con all'interno i metodi che ci servono.Inoltre le Classi Interne possono accedere ai membri della classe nel quali sono contenute.
Con questo è tutto ci vediamo nella prossima guida :bye: