[NetBeans] dodawanie JPanel()

0

Witam. Problem dosyc dziwny. Mam na klasy JPanel, obydwie stworzone kreatorem. Jak mam do jednego JPanel dodac inny, znajdujacy sie w innej klasie? Jeżeli tworzyłbym JPanele recznie, wtedy niebyłoby problemu, lecz nie mógłbym kozystac z kreatora. Podczas dzialania programu w zaleznosci od zainstnialych warunków chce wyświetlac inne JPanele.

Jakies pomysły?

0

po lewej stronie powinienes miec takie okienko z Navigatorem w ktorym bardzo prosto sie grupuje rozdziela przemieszcza elementy. (jak nie masz to menu > windows > navigator) albo ctrl + 7.

poza tym aby wyswietlac tylko ten panel ktory chcesz aby byl w tej chwili wyswietalny mozesz skorzystac z np CardLayoutu. tzn bierzesz sobie JPanel ustawiasz mu layout CardLayout PPM. i wtedy kazdy JPanel nizej jest jakby jedna z kart. we wlasciwosciach kazdemu JPanelowi nadajesz nazwe karty (CardName) i tyle w kreatorze.

w kodzie zas wystarczy miec taka funkcje:

 private void pokazKarte(String nazwa_karty) {
        LayoutManager layout = jPanelWidok.getLayout();
        CardLayout widok = (CardLayout) layout;
        widok.show(jPanelWidok,nazwa_karty);
    }

i gdy gdzies w programie chcesz wyswietlic dany JPanel to wystarczy wywolac ta funkcje

pokazKarte("kartaSiakasTam");

pewnie da sie to zrobic lepiej, ale ja do tego jakos doszlam i ladnie dziala wiec nie narzekam :)

0
samos napisał(a)

Jeżeli tworzyłbym JPanele recznie, wtedy nie byłoby problemu

Otóż to :-)

0

Anke, ale gdybym mial wszystkie Panele wraz z komponentami tworzyc recznie to nigdy bym nie skonczył programu ;)

0

Wydaje Ci się. To naprawdę nie jest takie trudne i czasochłonne. Piszesz 2-3 interfejsy i nabierasz wprawy, a przy kreatorach zawsze będziesz miał problemy, że coś nie działa tak jak byś chciał i jeszcze więcej czasu na to stracisz.
Poza tym nie piszcie w Swingu, bo to zło! SWT jest dużo bardziej poukładane i pisanie w nim, to czysta przyjemność, w dodatku wygląd komponentów jest dopasowany do systemu, na którym aplikacja jest uruchamiana.

0

Widziałem parę kodów z SWT (chociaż nigdy w nim nie pisałem) i jakoś mi się takie poukładane to nie wydaje. W Swingu też masz styl dopasowany do systemu. Wystarczy 1 linijka kodu na zmianę stylu. Za czasów JDK 1.5 to może i SWT było jakimś wyjściem ze względu na natywność, ale w JDK 1.6 Swing też jest natywny.

0

SWT nie pozwala na dziedziczenie po Widgetach, co zmusza Cie do pisania klarownego kodu (delegacja potrzebnych metod, brak balaganu i niepotrzebnych funkcji,bezpieczenstwo). Ogolnie zarowno SWINGA jak i SWT mam opanowanego calkiem niezle i duzo przyjemniej pisze mi sie w SWT (pisze, nie klika :P)
Oczywiscie w sieci krazy sporo snippetow, ktore proboja sztucznie (i bez sensu) wprowadzic zasady SWINGA do SWT i takiego kodu nalezy unikac (Anke moze poda przyklady :P)!
Ja osobiscie polecam ksiazke Adama Bochenka "Eclipse, biblioteka SWT" oraz example na eclipse.org/swt

pozdrawiam

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