Sto facendo un progetto utilizzando Java e in quanto ho bisogno di ricaricare intero JFrame
dopo aver fatto clic sul pulsante particolare su quello JFrame
. Come fare questo?Come posso aggiornare o ricaricare JFrame?
risposta
Prova
SwingUtilities.updateComponentTreeUI(frame);
Se ancora non funziona, allora dopo aver completato il passo precedente provare
frame.invalidate();
frame.validate();
frame.repaint();
-1 per updateComponentTreeUI: è quasi ** sempre ** la cosa sbagliata da fare (sta reimpostando gli ui-delegati) quando l'obiettivo più probabile è semplicemente il ricaricamento dei dati. – kleopatra
_reload frame_ non è un termine tecnico e qualunque cosa si supponga significhi, updateComponentTree è ** NON ** la risposta. In realtà, la domanda così com'è è troppo aspecifica per essere comprensibile, quindi votato per chiudere la domanda errata – kleopatra
Si dovrebbe utilizzare questo codice
this.setVisible(false); //this will close frame i.e. NewJFrame
new NewJFrame().setVisible(true); // Now this will open NewJFrame for you again and will also get refreshed
cattiva risposta (è per questo che suggerisce di chiudere la domanda - senza successo ;-) * NO * - qualunque sia il vero problema nella domanda, la creazione di un nuovo frame è * NON * la soluzione. Non distruggeresti la tua casa solo perché ha bisogno di un po 'di vernice nuova, vero? – kleopatra
@kleopatra No, non lo farà. – Ibrahim
Prova questo codice. Ho anche affrontato lo stesso problema, ma alcuni come ho risolto.
public class KitchenUserInterface {
private JFrame frame;
private JPanel main_panel, northpanel , southpanel;
private JLabel label;
private JButton nextOrder;
private JList list;
private static KitchenUserInterface kitchenRunner ;
public void setList(String[] order){
kitchenRunner.frame.dispose();
kitchenRunner.frame.setVisible(false);
kitchenRunner= new KitchenUserInterface(order);
}
public KitchenUserInterface getInstance() {
if(kitchenRunner == null) {
synchronized(KitchenUserInterface.class) {
if(kitchenRunner == null) {
kitchenRunner = new KitchenUserInterface();
}
}
}
return this.kitchenRunner;
}
private KitchenUserInterface() {
frame = new JFrame("Lullaby's Kitchen");
main_panel = new JPanel();
main_panel.setLayout(new BorderLayout());
frame.setContentPane(main_panel);
northpanel = new JPanel();
northpanel.setLayout(new FlowLayout());
label = new JLabel("Kitchen");
northpanel.add(label);
main_panel.add(northpanel , BorderLayout.NORTH);
frame.setSize(500 , 500);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
private KitchenUserInterface (String[] order){
this();
list = new JList<String>(order);
main_panel.add(list , BorderLayout.CENTER);
southpanel = new JPanel();
southpanel.setLayout(new FlowLayout());
nextOrder = new JButton("Next Order Set");
nextOrder.addActionListener(new OrderUpListener(list));
southpanel.add(nextOrder);
main_panel.add(southpanel, BorderLayout.SOUTH);
}
public static void main(String[] args) {
KitchenUserInterface dat = kitchenRunner.getInstance();
try{
Thread.sleep(1500);
System.out.println("Ready");
dat.setList(OrderArray.getInstance().getOrders());
}
catch(Exception event) {
System.out.println("Error sleep");
System.out.println(event);
}
}
}
basta usare frame.setVisible (false); frame.setVisible (true); Ho avuto questo problema con JLabels con le immagini, e questo lo ha risolto
- 1. Come posso aggiornare/ricaricare un Chrome Extension?
- 2. Come ricaricare/aggiornare app.config?
- 3. come ricaricare/aggiornare/reinizializzare DynaTree?
- 4. Come aggiornare/ricaricare l'incorporamento di applicazione/pdf?
- 5. Il modo migliore per aggiornare/ricaricare UIScrollView
- 6. come aggiornare una pagina Django senza ricaricare una pagina?
- 7. Come posso aggiornare un modulo JQuery
- 8. Come aggiornare un UITableViewCell senza ricaricare tavolo pieno
- 9. Come posso aggiornare Numpy?
- 10. Come ricaricare la vista ionica?
- 11. Come posso ricaricare uno script in IRB?
- 12. aggiorna JFrame Java senza fare new JFrame
- 13. Come disabilitare JFrame principale quando si apre JFrame nuovo
- 14. Come posso personalizzare la barra del titolo su JFrame?
- 15. come posso aggiornare npm stesso?
- 16. Come posso aggiornare IntelliJ IDEA?
- 17. Come posso aggiornare la pagina del browser da un'app Silverlight?
- 18. Come modificare l'icona JFrame
- 19. Come si disegna un'immagine su JPanel o JFrame?
- 20. Come posso aggiornare un dataTable YUI con un pulsante?
- 21. Come posso aggiungere un JTextField a un MenuBar di JFrame?
- 22. Come posso visualizzare una BufferedImage in un JFrame?
- 23. Come posso aggiornare Maven Index manualmente?
- 24. Come posso dire ad AngularJS di "aggiornare"
- 25. Come rilevare che JFrame è chiuso?
- 26. Come ricaricare gdbinit?
- 27. Come ricaricare TreeStore?
- 28. Come ricaricare più pjax
- 29. Come aggiornare/ricaricare a livello di programmazione un progetto VS dopo aver modificato il file sottostante?
- 30. Come posso ricaricare una definizione di classe in ipython
cosa intendi con 'refresh'? E '' restituire tutti i componenti allo stato in cui erano quando sono stati inseriti per la prima volta ',' cambiare i componenti ', qualcos'altro? –
aggiungi/rimuovi JComponent in runtime o modifica la dimensione, necessaria per riformattare ..., – mKorbel
cosa stai facendo esattamente con JFrame. Gentilmente elobratelo. ? –