JPanel w dwóch innych JPanel-ach

JPanel w dwóch innych JPanel-ach
CH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 9
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)?

Kopiuj
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.

CH
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 9
0

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

  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
	    /* 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");
                    }
            }

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.