Estoy haciendo un proyecto usando Java y necesito volver a cargar JFrame
después de hacer clic en un botón en particular en ese JFrame
. ¿Como hacer esto?¿Cómo puedo actualizar o volver a cargar el JFrame?
Respuesta
Trate
SwingUtilities.updateComponentTreeUI(frame);
Si aún así no funciona, entonces después de completar el paso por encima de tratar
frame.invalidate();
frame.validate();
frame.repaint();
-1 para updateComponentTreeUI: eso es casi ** siempre ** la cosa incorrecta que hay que hacer (es volver a configurar los ui-delegados) cuando el objetivo más probable es simplemente volver a cargar los datos. – kleopatra
_reload frame_ no es un término técnico y sea lo que sea que se suponga que signifique, updateComponentTree es ** NO ** la respuesta. En realidad, la pregunta tal como está es demasiado inespecífica para ser respondida, por lo que votó para cerrar – kleopatra
Debe utilizar este código
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
mala pregunta atraer malas respuestas (es por eso que sugirió cerrar la pregunta sin éxito ;-) * NO * - cualquiera que sea el problema real en la pregunta, crear un nuevo marco es * NO * la solución. No destruirías tu casa solo porque necesita pintura nueva, ¿o sí? – kleopatra
@kleopatra No, no lo hará. – Ibrahim
Prueba este código. También me enfrenté al mismo problema, pero de alguna forma lo resolví.
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);
}
}
}
sólo tiene que utilizar frame.setVisible (false); frame.setVisible (true); He tenido este problema con JLabels con imágenes, y esto lo resolvió
- 1. actualizar o volver a cargar la tabla de datos
- 2. Actualizar/volver a cargar Flot en Javascript
- 3. flashvars Actualizar y volver a cargar el flash con jQuery
- 4. ¿Cómo volver a cargar TreeStore?
- 5. Actualizar (volver a cargar) una página usando jQuery?
- 6. ¿Cómo volver a cargar gdbinit?
- 7. ¿Cómo se puede volver a cargar, redibujar o actualizar un complemento de JQuery para actualizar sus valores?
- 8. ¿Cómo puedo volver a cargar un script en IRB?
- 9. ¿Cómo puedo programar Logback para volver a cargar la configuración
- 10. ¿Volver a cargar una sola fila jqGrid?
- 11. ¿Cómo actualizar/volver a cargar el incrustado de la aplicación/pdf?
- 12. ¿Cómo volver a cargar la imagen de Zend Captcha al hacer clic en el botón Actualizar?
- 13. ¿Cómo puedo volver a cargar fácilmente el código de ceceo de Emacs cuando lo estoy editando?
- 14. ¿Cómo volver a cargar un div sin volver a cargar toda la página?
- 15. ¿Cómo volver a cargar Spring Security Principal después de actualizar en Hibernate?
- 16. ¿Cómo volver a cargar el módulo de Python en IDLE?
- 17. ¿Cómo forzo a ActiveRecord a volver a cargar una clase?
- 18. Vim, cómo volver a cargar el resaltado de sintaxis
- 19. Cómo volver a cargar el objeto jquery dropkick
- 20. ¿Cómo volver a cargar todas las gemas en Rails 3?
- 21. evitan que un usuario para volver a cargar la página con jQuery o Javascript
- 22. ¿Volver a cargar rubygems en irb?
- 23. actualizar JFrame después de agregar nuevos componentes
- 24. ¿Cómo forzar a un script a volver a cargar y volver a ejecutar?
- 25. ¿Volver a cargar hojas de estilo CSS sin volver a cargar la página?
- 26. cómo volver a cargar solo scripts a través de firebug
- 27. Cómo actualizar el gráfico de barras de jqplot sin volver a dibujar el gráfico
- 28. Agregar 2 o más objetos a JFrame
- 29. Actualizar la URL del navegador sin tener que volver a cargar la página
- 30. volver a cargar la página en el teléfono
¿qué quieres decir con 'actualizar'? ¿Es 'devolver todos los componentes al estado en que se encontraban cuando se colocaron primero en el marco', 'cambiar los componentes', alguna otra cosa? –
es usted agrega/elimina JComponent en Runtime, o cambia Tamaño, necesario para volver a diseñar ..., – mKorbel
qué está haciendo exactamente con JFrame. Amablemente elobrate. ? –