JPanel w dwóch innych JPanel-ach

Odpowiedz Nowy wątek
2011-07-15 16:09
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.

Pozostało 580 znaków

2011-07-15 23:23

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

edytowany 1x, ostatnio: chybaprogramista, 2011-07-16 00:17

Pozostało 580 znaków

2011-07-17 07:07
bo
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");
                    }
            }

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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