|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2008
Città: CS
Messaggi: 10393
|
[JAVA] Aggiornare i contenuti di un frame
domanda:
ho un frame composto da diversi pannelli. in seguito a delle azioni implementate con delle action, ad es apri nuovo dato da visualizzare, il pannello centrale cambia il suo contenuto e quindi il frame deve essere aggiornato. io ho sempre usato SwingUtilities.updateComponentreeUI(frame) dopo aver cambiato i riferimenti dei campi con i nuovi pannelli. Ora invece non funziona in nessun modo! le ho provate davero tutte (repaint(), update(Graphics g), SwingUtilities.updateCom...(), SwingUtilities.invokeLater()) sia sul frame che sul pannello, ma a parte la costruzione del pannello nel costruttore del frame, la vista non viene moificata in alun modo in seguto all'azione. avete suggerimenti? ![]() Ovviamente la logica è ok e verificata.... ve ne sarò grato ![]()
__________________
OVUNQUE TU SIA, UN GIORNO GIOCHEREMO ANCORA INSIEME... ![]() DA EVITARE: EagleStar - Savio3000+ - Saltalungo - brabby198 - Sandro1483 - OldField - BuLLdOzEr91 |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
vedi se revalidate+repaint aiuta; oppure removeAll sul contenitore parent dei tuoi pannelli e li inserisci di nuovo (metodo add).
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Sep 2008
Città: CS
Messaggi: 10393
|
Quote:
frame.setVisible(false); frame.removeAll(); RubricaFormPanel rfp = new RubricaFormPanel(frame.panelOvest, frame.panelSud, new PannelloCentrale("Nessun Contatto presente nella rubrica")); frame.rubricapanel = rfp; frame.add(rfp); frame.setVisible(true); ovviamente ho provato pure a fare: frame.removeAll(); RubricaFormPanel rfp = new RubricaFormPanel(frame.panelOvest, frame.panelSud, new PannelloCentrale("Nessun Contatto presente nella rubrica")); frame.rubricapanel = rfp; frame.add(rfp); frame.repaint(); ma niente dopo l'action il pannello dei contenuti rimane visibile ma inattivo, non risponde piu agli eventi.
__________________
OVUNQUE TU SIA, UN GIORNO GIOCHEREMO ANCORA INSIEME... ![]() DA EVITARE: EagleStar - Savio3000+ - Saltalungo - brabby198 - Sandro1483 - OldField - BuLLdOzEr91 |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Non hai provato con revalidate:
Codice:
frame.removeAll(); RubricaFormPanel rfp = new RubricaFormPanel(frame.panelOvest, frame.panelSud, new PannelloCentrale("Nessun Contatto presente nella rubrica")); frame.rubricapanel = rfp; frame.add(rfp); frame.revalidate();
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) Ultima modifica di banryu79 : 15-01-2010 alle 15:48. |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Sep 2008
Città: CS
Messaggi: 10393
|
Quote:
Codice:
frame.remove(frame.rubricapanel); RubricaFormPanel rfp = new RubricaFormPanel(frame.panelOvest, frame.panelSud, new PannelloCentrale("Nessun Contatto presente nella rubrica")); frame.rubricapanel = rfp; frame.add(rfp, BorderLayout.CENTER); frame.validate(); ![]()
__________________
OVUNQUE TU SIA, UN GIORNO GIOCHEREMO ANCORA INSIEME... ![]() DA EVITARE: EagleStar - Savio3000+ - Saltalungo - brabby198 - Sandro1483 - OldField - BuLLdOzEr91 |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Prova a postare un po' di codice se ti va, così vediamo come è impostata tutta l'interfaccia e le relazioni nel codice tra i pannelli, il loro contenuto e il frame che contiene tutto l'ambaradam...
__________________
As long as you are basically literate in programming, you should be able to express any logical relationship you understand. If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it. (Chris Crawford) |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:06.