[Java] Swing prepínanie JPanelov

Programovacie jazyky, rady, poradňa...
ChallengerQo
Expert
Expert
Používateľov profilový obrázok
Príspevky: 183
Registrovaný: 05 júl 2009, 17:08
Bydlisko: Kodaň

[Java] Swing prepínanie JPanelov

Príspevok od používateľa ChallengerQo »

Zdravím,
Neviem či je toto správne riešenie problému, no k ničomu lepšiemu som sa nedogoolil, tak som bol nútený vymyslieť vlastné.
Btw, je to môj prvý GUI program v jave, takže z osobných skúseností tiež moc čerpať nemôžem.. :D

A teraz už k veci. V programe v GUI vrstve používam v jeden JFrame a v ňom tri JPanely, ktoré podľa potreby nastavujem cez setVisible() tak, že je vždy viditeľný samozrejme iba jeden. Funguje to preto, že to mám všetko naprasené v jednom súbore, ktorý má cez 900 riadkov a ja sa už na to nemôžem dlhšie pozerať. Chcel by som to prepísať pekne do tried, no nie je mi celkom jasné, ako potom budem nastavovať vizibilitu tých panelov. Problém je ten, že JFrame má v sebe tie tri JPanely, ale tie panely o sebe nevedia, takže nemôžem volať z jedného na druhý setVisible(), tým pádom neviem ohandlovať napríklad stlačenie tlačítka cancel v jednom paneli tak, aby som sa prepol niekde do iného panelu. Takže otázka je, či je toto dobrý návrh, alebo to ide aj lepšie s prepínaním screenov. Niekde som čítal, že CardLayout je na toto dobré, no ja používam GridBagLayout v tých JPaneloch.
To je jedna vec. Druhá vec je, ako si predávať medzi tými panelmi triedu Model, ktorá v sebe uchováva dátovú časť programu. Moja prvotná myšlienka bola implementovať to ako MVC, no nejak aj po prečítaní niekoľkých článkov nie som schopný vymyslieť ako kompozične rozložiť model, view a controller tak, aby to všetko spolu pracovalo.. takže to mám bez controlleru, pričom model je v triede view, čo mi zatiaľ v tak malom programe moc nevadí a všetko funguje ako má.. no je to fakt hnusné a nepáči sa mi to a naviac to nie je rozšíriteľné, čo mi vadí, kedže na tom chcem ďalej pracovať (momentálne to robím ako semestrálku).
Ak tu je nejaký schopný javista, tak by som mu bol povďačný za rady. Dík
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8222
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: [Java] Swing prepínanie JPanelov

Príspevok od používateľa harrison314 »

ChallengerQo
Expert
Expert
Používateľov profilový obrázok
Príspevky: 183
Registrovaný: 05 júl 2009, 17:08
Bydlisko: Kodaň

Re: [Java] Swing prepínanie JPanelov

Príspevok od používateľa ChallengerQo »

Dík moc ;) Inak nejaké osobné odporúčanie, odkiaľ sa učiť návrhové vzory? Myslím teda odkiaľ si čerpal ty.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8222
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: [Java] Swing prepínanie JPanelov

Príspevok od používateľa harrison314 »

u mna to bola vysoka skola :lol:
a na nete je toho plno staci poriadne hladat, alebo knihu od Martina Fowlera
ChallengerQo
Expert
Expert
Používateľov profilový obrázok
Príspevky: 183
Registrovaný: 05 júl 2009, 17:08
Bydlisko: Kodaň

Re: [Java] Swing prepínanie JPanelov

Príspevok od používateľa ChallengerQo »

vysoká škola? u nás ako pozerám, tak to máme až na magistrovi http://bk.fit.cvut.cz/cz/predmety/00/00 ... 34006.html ... dovtedy čakať nebudem.. :D
mrknem na to, dík ;)
Napísať odpoveď