|
|||||||
|
|
|
![]() |
|
|
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 16: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:01.




















