Adición de JPanels adicionales a un JPanel
Pregunta
En lugar pregunta básica aquí chicos.
Básicamente tengo código como este:
public SuperPanel() {
setLayout(new BorderLayout());
add(panel1(), BorderLayout.NORTH);
add(panel2(), BorderLayout.CENTER);
add(panel3(), BorderLayout.SOUTH);
}
Y que todo funciona bien y bueno. El problema es que no tengo otra parte deseo añadir al centro. Sólo mediante add(newPanel(), BorderLayout.CENTER)
no funciona, obviamente. Pero puede agregar JPanel
s en JPanel
s, correcto?
Así que hicieron los siguientes cambios:
public SuperPanel() {
setLayout(new BorderLayout());
add(panel1(), BorderLayout.NORTH);
add(supersweetpanel(), BorderLayout.CENTER);
add(panel3(), BorderLayout.SOUTH);
}
Con supersweetpanel()
ser:
public JPanel supersweetpanel() {
JPanel sswp = new JPanel();
setLayout(new BorderLayout());
add(panel2(), BorderLayout.NORTH);
return sswp;
}
Ahora se anula panel1
! Si lo fijo a cualquier otra cosa (CENTER
, SOUTH
, lo que tiene), los dos primeros paneles desaparecen por completo. Ayuda es muy apreciada.
Solución
Es probable SuperPanel
una subclase de JPanel
, ¿verdad? Está añadiendo accidentalmente panel2
a this
(el SuperPanel
), no sswp
. Proveedores:
public JPanel supersweetpanel() {
JPanel sswp = new JPanel();
sswp.setLayout(new BorderLayout());
sswp.add(panel2(), BorderLayout.NORTH);
return sswp;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow