JPanel w dwóch innych JPanel-ach

0

Natrafiłem na problem z umieszczeniem jednego JPanel-a (a) jednocześnie w dwóch innych JPanelach (b i c). Panel (a) wyświetla się jedynie w tym panelu (b/c) w którym został dodany później. Czy jest jakiś prosty sposób aby jeden obiekt JPanel (a) był jednocześnie widoczny w obu innych JPanelach (b,c)?

JPanel a = new JPanel(); 
... konfiguracja panelu a ...
b.add(a);
c.add(a); <- a jest widocznie tylko tutaj

Rozwiązanie problemu jest dosyć prote w sposób jeden model dwa oddzielne widoki-JPanele (a1, a2), jednak chcę dowiedzieć się czemu referencja do JPanelu nie jest widoczna w dwóch innych JPanelach na raz.

0

Poradzilem sobie w banalny sposób, JPanele (b i c) rozszerzają JPanel (a) i po problemie ;)

0

Opisane zachowanie wyjaśnia fragment kodu źródłowego metody add():

	    /* Reparent the component and tidy up the tree's state. */
	    if (comp.parent != null) {
		comp.parent.remove(comp);
                    if (index > component.size()) {
                        throw new IllegalArgumentException("illegal component position");
                    }
            }

1 użytkowników online, w tym zalogowanych: 0, gości: 1