Hi,
ich bastele gerade an einer Oberfläche und habe ein interessantes Problem:
Ich würde gerne im Border-Layout ein Panel tauschen, also erst habe ich jPanel1 zu borderlayout.north hinzugefügt, und dann möchte ich gerne dieses durch jPanel 2 ersetzen.
Mit add(jPanel2, Borderlayout.north) wird ja jPanel1 nur durch jPanel1 überlagert.
(es sollen mehrere JPanels da „eingelagert“ werden)
Wie kann ich möglichst einfach diese Panels finden und löschen, bevor ich ein neues einfüge?
Besten Dank und schönes WE
Winni
Hi Winni,
das einfachste ist bestimmt, wenn du dir vor dem Einfügen in den nördlichen Teil die Component merkst und diese vor dem erneuten Einfügen vorher löschst.
Beispiel:
...
public void addNorthComponent(Component comp)
{
m\_Panel.remove(m\_NorthComponent);
m\_NorthComponent = comp;
m\_Panel.add(comp, BorderLayout.NORTH);
}...
Ciao, Bill
Hi Bill,
hatte mir schon sowas gedacht, dachte aber, daß es ohne extra variable gehen könnte.
(habe noch ne null-Abfrage eingebaut und nun siehts so aus:
public void addNorthComponent(Component comp)
{
if (myNorthComponent != null)
{
jContentPane.remove(myNorthComponent);
}
myNorthComponent = comp;
jContentPane.add(comp, BorderLayout.NORTH);
}
Besten Dank
Winni