...
finestra.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
...
Ciao.
Sto programmando un interfaccia grafica.
Voglio creare una sola finestra, su cui gira tutta l'interfaccia dell'utente.
La immagino cosi: al bordo di sx, i menù, che sono fissi e non si spostano mai di li.
La restante parte della finestra, toglierà, aggiungera bottoni, box ecc, in base a quello che si sceglie nel menu'
Dato che tutto il programma si svolge in un unica finestra, ho pensato di creare
una finestra di base che definisce il layout e la dimensioni della finestra, poi delle classi che svolgono i loro metodi e ridefiniscono un pò la finestra, in base alla scelta del programmatore.
Cioè se sceglie Anagrafica, vedrà box per nome cognome eccetera, mentre se sceglie Professione, verdrà box per lavoro, salario, ecc.
Ovviamente come detto tutto questo avviene nella singola finestra, che cambia aspetto in base alla scelta nel menù.
Per realizzare questo ho creato una classe abstract, che non istanzia nessun oggetto, ma per l'appunto posso usarla come base.
Il metodo windowClosing, voglio lasciarlo in questa mia classe base, cosi da non doverlo sempre scrivere, tanto è uguale. La X chiude il programma.
A questo punto, mi trovo con un oggetto di base finesta.
Dalla classe finestra, creo le altre sottoclassi, che sarebbero Anagrafica, Professione ecc.
Fatto ciò avrò che tutte le classi Anagrafica, Professione ecc, che estendono FinestraBase, e contengono metodi è bottoni diversi.
E' giusto progettarla cosi??
Per quanto riguarda gli ascoltatori ho pensato che la soluzione migliore sia di creare una classe che gestisce gli eventi.
Avrò quindi
1 classe base per la finestra
diverses sottoclassi della classe finestra
1 classe per gestire gli eventi.
Il codice sopra??
Se la classe WindowAdapter è una classe abstract, come fà ad instanziarla con new??
Ma cosa succede??
finestra.addWindowsListner() aggiunge un ascoltatore al JFrame
L'ascoltatore è un oggetto WindowAdapter, che invoca il metodo windowClosing??
tutto avviene alla chiamata del metodo addWindowListner??
(new WindowAdapter(
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
l'oggetto windowAdapter asce e muore con il metodo stesso
scusatemi x il monologo