¿Cómo eliminar un elemento específico de un JPanel usando BorderLayout/GrouplaYout?
-
26-10-2019 - |
Pregunta
Necesito eliminar el Component
en el Center
del JPanel
, pero después de algunos intentos no prevalecen.
Probé el método aquí:
Eliminar el elemento central de un jpanel usando borderLayout
Pero el método de la respuesta produce un error de tiempo de compilación:
Type mismatch: cannot convert from LayoutManager to BorderLayout
¿Estoy interpretando la respuesta mal?
Además, también tengo curiosidad si puedo actualizar solo un componente de un GrouplayOut. ¿Alguien podría decirme cómo hacerlo?
Editar: @mre: aquí está el código:
BorderLayout layout = panel.getLayout();
panel.remove(layout.getLayoutComponent(BorderLayout.CENTER));
Que es básicamente lo mismo que en el enlace.
¡Gracias a todos!
Solución
Tienes que derribar el Administrador de diseño para BorderLayout:
BorderLayout layout = (BorderLayout) panel.getLayout();
Pero si sabe qué componente hay en el centro, puede eliminarlo:
panel.add(myComponent, BorderLayout.CENTER);
...
panel.remove(myComponent);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow