Hey zusammen,
ich suche gerade eine Lösung für mein Problem.
Meine GUI soll dem Anwender verschiedene "Geräte" anzeigen, die er ändern kann.
Ich erzeuge ein JPanel in dem diese Geräte aufgelistet werden.
Dieses JPanel füge ich dann einer JScrollPane hinzu.
Wenn nun ein Gerät (oder alle) geändert werden ist mein JPanel veraltet.
Was ich nun mache ist, alle JPanel von der JScrollPane zu entfernen.
Dann wird das JPanel mit den Geräten neu erzeugt (indem ich die aktualiserten Geräten neu hinzufüge)
und dieses wird dann wieder zu der JScrollPane hinzugefügt.
In der JScrollPane wird nach dieser Aktion allerdings nichts dargestellt und da frag ich mich ob ich einfach so Panel von einer JScrollpane entfernen/hinzufügen kann.
hier ein Auszug:
ich suche gerade eine Lösung für mein Problem.
Meine GUI soll dem Anwender verschiedene "Geräte" anzeigen, die er ändern kann.
Ich erzeuge ein JPanel in dem diese Geräte aufgelistet werden.
Dieses JPanel füge ich dann einer JScrollPane hinzu.
Wenn nun ein Gerät (oder alle) geändert werden ist mein JPanel veraltet.
Was ich nun mache ist, alle JPanel von der JScrollPane zu entfernen.
Dann wird das JPanel mit den Geräten neu erzeugt (indem ich die aktualiserten Geräten neu hinzufüge)
und dieses wird dann wieder zu der JScrollPane hinzugefügt.
In der JScrollPane wird nach dieser Aktion allerdings nichts dargestellt und da frag ich mich ob ich einfach so Panel von einer JScrollpane entfernen/hinzufügen kann.
hier ein Auszug:
Java:
getScrollPane().removeAll();
JPanel devicePanel = getDevicesPanel(); // hier erstelle ich mein JPanel neu in dem sich die Geräte befinden
getScrollPane().setViewportView(devicePanel);
//getScrollPane().add(devicePanel); -> ging auch nicht
devicePanel.repaint();
getScrollPane().repaint();