Wie entferne ich ein bestimmtes Element aus einem JPanel mit BorderLayout/GrouPlayout?
-
26-10-2019 - |
Frage
Ich muss das entfernen Component
in dem Center
des JPanel
, aber nach einigen versucht keine herrlich.
Ich habe die Methode hier ausprobiert:
Entfernen des Mittelelements von einem JPanel mit BorderLayout
Die Methode der Antwort erzeugt jedoch einen Kompilierungszeitfehler:
Type mismatch: cannot convert from LayoutManager to BorderLayout
Interpretiere ich die Antwort falsch?
Außerdem bin ich auch neugierig, ob ich nur eine einzige Komponente aus einem GrouPlayout aktualisieren kann. Könnte mir jemand sagen, wie es geht?
Bearbeiten: @mre: Hier ist der Code:
BorderLayout layout = panel.getLayout();
panel.remove(layout.getLayoutComponent(BorderLayout.CENTER));
Das ist im Grunde genommen das gleiche wie im Link.
Danke euch allen!
Lösung
Sie müssen den Layout -Manager auf BorderLayout niederschlagen:
BorderLayout layout = (BorderLayout) panel.getLayout();
Wenn Sie jedoch wissen, welche Komponente in der Mitte ist, können Sie sie einfach entfernen:
panel.add(myComponent, BorderLayout.CENTER);
...
panel.remove(myComponent);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow