PDA

Visualizza versione completa : Java Swing


comm64
09-05-2008, 11.11.55
Salve a tutti, ho bisogno del vostro aiuto

Ho creato un frame in una classe con un pannello che ha al suo interno un bottone che mi dice vai al pannello2

Ho creato a parte in altre classi dei pannelli della grandezza dell'area messa a disposizione dal mio frame Principale

Ogni pannello ha dei bottoni che eseguono qualcosa

quello che io vorrei fare è questo:
1)Si apre il frame e mi visualizza il bottone: vai al pannello2
2)Premendo sul tasto deve sostituirmi il pannello contenuto nel frame con il pannello costruito in un'altra classe e cosi via..
Insomma vorrei utilizzare un solo frame ma più pannelli come se fossero delle pagine


Qualche idea? grazie

Cacciavite
09-05-2008, 21.59.29
Semplicemente potresti mettere un Layered Pane e mettere come visibile solo quello che viene selezionato tramite il bottone.

Altrimenti puoi togliere/aggiungere i pannelli tramite i comandi .remove/.add

O anche mettere un pannello fisso dentro il quale aggiungere / rimuovere
che ne so, jPanel1.removeAll() poi fai jPanel1.add(jPanel2) ma occhio devi usare i layout manager nel modo giusto.

comm64
10-05-2008, 11.35.24
Semplicemente potresti mettere un Layered Pane e mettere come visibile solo quello che viene selezionato tramite il bottone.

Altrimenti puoi togliere/aggiungere i pannelli tramite i comandi .remove/.add

O anche mettere un pannello fisso dentro il quale aggiungere / rimuovere
che ne so, jPanel1.removeAll() poi fai jPanel1.add(jPanel2) ma occhio devi usare i layout manager nel modo giusto.

Ciao ti ringrazio per avermi risposto ho provato a fare come hai detto aggiungendo o rimuovendo pannelli però effettivamente ho problemi con il layout che non mantiene quello dell'oggetto inserito ma quello dell'oggetto ospitante.

Vorrei Provare con il LayeredPane ma ho trovato poca documentazione (nel senso che da quel poco che ho capito ho visto certi esempi che hanno un bottone nel pannello principale che mi fa cambiare pannelli ma non ho capito come accedere al bottone del pannello esterno per cambiare )Non è che per caso hai un esempio sotto mano? Grazie ancora



Oppure volendo rinunciare a questa cosa dovrei creare tanti Jframe quante sono le mie pagine giusto? e

Cacciavite
11-05-2008, 11.37.56
no quella dei tanti JFrame non mi sembra un'ottima idea. Forse non ho capito bene il discorso del bottone.
Spiegami meglio magari posso aiutarti.

Cmq fai altre prove con il metodo che ti ho detto, fissa bene le dimensioni mimine dei pannelli, insomma, occhio a tutto.

comm64
11-05-2008, 15.02.46
allora cerco di spiegarti meglio:
Ho un frame principale
poi ho tante classi quanto sono i pannelli da inserire
esempio Pannello1.java Pannello2.Java etc

All'esecuzione dell'applicazione mi appare un Jframe con il pannello di benvenuto etc etc.. e un bottone entra:
cliccando sul bottone mi sostituisce il pannello welcome con il pannello1
-Il pannello1 al suo interno ha un bottone che si chiama: sostituiscimi con il pannello 2
-cliccando su questo bottone nel jframe sparisce il pannello1 e mi inserisce il Pannello2 della classe pannello2.java

e cosi via...
Questo è quello che vorrei realizzare


Questo perchè potrò trovarmi nella situazione di dover far fare una registrazione ad un utente e lui clikkando sul bottone registra dovrebbe apparire il form di registrazione: avevo pensato a questa strada delle sostituzione dei pannelli. Poi se hai qualche altra idea sono felice di saperla in quanto sono alle prime armi con Swing e le interfaccie grafiche di java

Cacciavite
18-05-2008, 18.00.52
guarda, come ti avevo detto dovrebbe funzionare. Scegli bene il Layout manager e imposta bene tutto, fai varie prove.

comm64
19-05-2008, 23.24.47
Ci sono riuscito. Grazie ai tuoi suggerimenti :)

grazie

Cacciavite
20-05-2008, 00.17.07
Mi fa piacere, ciao.