Salve ragazzi,avrei una domanda da fare:
Ho un JFrame con all'interno una Jmenubar, volevo sapere se era possibile mettere un jpanel all'interno in base al valore selezionato nella jmenubar.
non so se sono stato chiaro
Salve ragazzi,avrei una domanda da fare:
Ho un JFrame con all'interno una Jmenubar, volevo sapere se era possibile mettere un jpanel all'interno in base al valore selezionato nella jmenubar.
non so se sono stato chiaro
potresti aggiungere vari JPanel e renderli visibili/invisibili a seconda del valore selezionato.Originariamente inviato da il pupo
Salve ragazzi,avrei una domanda da fare:
Ho un JFrame con all'interno una Jmenubar, volevo sapere se era possibile mettere un jpanel all'interno in base al valore selezionato nella jmenubar.
non so se sono stato chiaro
io ho fatto così: al click di una determinata JLabel vedo un JPanel e nascondo gli altri.
ma così vado a occupare molta memoria...perchè comunque avrei molte jpanel aperte giusto?
C'è più di una possibilità:Originariamente inviato da il pupo
Ho un JFrame con all'interno una Jmenubar, volevo sapere se era possibile mettere un jpanel all'interno in base al valore selezionato nella jmenubar.
- Uso di un CardLayout, tutti i componenti vanno inseriti prima nel layout e poi con il show() del CardLayout si mostra solo uno per volta.
- Tenere sempre e solo 1 componente, togliendo quello precedente e inserendo quello nuovo. Se è posizionato con un layout manager va ri-validato.
- Se il layout manager lo permette, si inseriscono tutti i componenti e poi si "gioca" con la visibilità (tecnicamente proprio come fa un CardLayout ma in questo caso lo si gestisce da zero).
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
si ma la gestione delle memoria come viene gestita?cioè ho molto spreco?
questo nn lo so....Originariamente inviato da il pupo
si ma la gestione delle memoria come viene gestita?cioè ho molto spreco?
sennò potresti usare un jtabbedpane anche se lo trovo "poco elegante".
Dipende .... è ovvio che se usi il CardLayout tutti i pannelli sono istanziati e inseriti nel layout. Se invece ti occupi tu di tenerne solo 1 per volta puoi pensare di istanziare al volo il componente scelto da visualizzare e far "perdere" il riferimento del vecchio in modo che venga recuperata memoria.Originariamente inviato da il pupo
si ma la gestione delle memoria come viene gestita?cioè ho molto spreco?
Se davvero l'occupazione di memoria è per te una questione molto importante/stringente, non hai altra scelta che avere istanziato solo 1 componente per volta, "buttando" via quello vecchio che togli.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Non è necessario creare tutti i JPanel all'inizio, puoi benissimo utilizzarne uno solo che di volta in volta referenzierà il JPanel corretto per l'opzione scelta nel menu.
"Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)
ok grazie mille...
Ultima cosa(Spero)per creare manualmente devo usare un Jcontened particolare?
Che vuol dire??!Originariamente inviato da il pupo
per creare manualmente devo usare un Jcontened particolare?
Tu sai quale è la classe di un pannello da istanziare ... no?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet