Salve ragazzi... sto facendo un'applicazione per un esame e ho un problema con la navigazione tra le varie pagine.
Mi spiego meglio... sto completando un lavoro iniziato da 2 miei colleghi di università... quindi ho trovato già impostata la modalità di gestione della navigazione tra frame interni ed esterni... dal menu principale cioè, navigavo da una sezione all'altra avendo sempre la stessa finestra aperta. Questo però mi comportava un errore di navigazione nel momento in cui andavo a lavorare tra le varie pagine.
Per evitare questi problemi ho pensato di chiudere di volta in volta le finestre aperte e riaprirne una nuova. In questo modo però passano un paio di secondi tra la chiusura della prima finestra e l'apertura della seconda.
La mia domanda è: come posso segnalare questa attesa in modo che l'utente non pensi che l'applicazione si sia interrotta nel frattempo? Ho provato a vedere le progressbar, ma non so se fanno al caso mio...
Sapete aiutarmi?
Mi basterebbe anche la classica clessidra sul puntatore del mouse, o il caricamento circolare... solo che ecco... non so come si chiamano in java!
Magari sarà una cavolata, ma non riesco a trovarlo!
Vi posto un po' di codice...per esempio se dalla pagina contatti voglio andare alla home ho il bottone:
icon = new backgroundedButton("/presentation/icone/r_icona.png"); icon.setBounds(20,8);
icon.setText("Home");
icon.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
avviaHome(evt);
}
});
livelloSfondo.add(icon, new Integer(2));
In cui utilizzo la funzione:
private void avviaHome(java.awt.event.ActionEvent evt) {
Frame[] f = java.awt.Frame.getFrames();
for(int i=0; i<f.length; i++) f[i].dispose(); //vado a chiudere le finestre correnti
PMAIN newPMAIN = new PMAIN(); // e apro quella nuova
newPMAIN.setVisible(true);
//chiudo quella corrente
this.dispose(); //questo ormai non serve più ma l'ho lasciato
}
Non so se ci avete capito qualcosa...
Come faccio a segnalare quell'attesa tra chiusura vecchia pagina e apertura nuova?