PDA

Visualizza la versione completa : Exit & Java


alderaan
10-07-2002, 11:47
Rieccomi.....ho un altro quesito da porvi:

Carico una immagine nella mia finestra....voglio chiuderla per aprirne un'altra....mi sono chiesto:

1- Devo svuotare la memoria alla chiusura della prima ?
2- Esiste un comando che permetta questo tipo di chiusura???


Grazie Alderaan

Mandrake978
10-07-2002, 11:50
Chiama il metodo dispose(); sulla finestra che vuoi chiudere:

finestra.setVisible(false);
finestra.dispose();

Ciao !

alderaan
10-07-2002, 11:54
Forse mi sono spiegato male o non ho capito......io devo chiudere l'immagine per aprirne un'altra!

Era questo a cui ti riferivi??

Grazie Alderaan

Mandrake978
10-07-2002, 12:01
Ops.. io ti facevo chiudere la finestra per aprirne un'altra..
l'immagine l'hai definita come Image ?

alderaan
10-07-2002, 12:08
Questo il codice per l'apertira dell'immagine:


File f = fileChooser.getSelectedFile();
Visual.setIcon(new ImageIcon(f.getAbsolutePath()));

Grazie Alderaan

floyd
10-07-2002, 12:20
in java esiste una bellissima cosa che si chiama garbage collector, che ha il compito di liberare la memoria occupata da oggetti a cui nessun riferimento punta
se fai

Visual.setIcon(new ImageIcon(f1.getAbsolutePath()));
Visual.setIcon(new ImageIcon(f2.getAbsolutePath()));
l'immagine di f1 viene contrassegnata per essere distrutta

alderaan
10-07-2002, 13:06
Perfetto, quindi usando gia questa soluzione sono tranquillo sulla liberazione della memoria ???

Il problema : Come faccio a chiudere un'immagine precedentemente aperta, lasciando comunque la finestra principale, per aprire una nuova immagine??? Penso che sia un comando stupido, ma anche guardando sulla documentazione di java ho capito ben poco su come implementare questo meccanismo.

Grazie

floyd
10-07-2002, 13:08
assegna semplicemente la nuova immagine alla label con setIcon

alderaan
10-07-2002, 13:17
Questa cosa l'ho gia implementata, quello che vorrei fare una finezza: chiudere l'immagine, quindi vedere la finestra principale grigia, per poter aprire un'altra immagine o chiudere l'applicazione.

floyd
10-07-2002, 13:26
label.setIcon(null);
label.setIcon(newicon);
guarda che avviene in pochi millisecondi, se non metti un wait non sar visibile

Loading