[ afrodom @ 28.04.2008. 16:01 ] @
Cao, najpre - Hristis Vaskrs, i srecni vam praznici....
Interesuje me bitnost kreiranje Container objekta, odnosno primena getContentPane() metode frejma?
Kreirani objekat predstavlja deo frejma koji sadrzi druge objekte. Jel tako-tako je. Metodom add objekta klase Container dodajemo komponente na taj deo frejma. Sto otprilike izgleda ovako:

JFrame main = new JFrame(“Main Menu”);
JPanel pane = new JPanel();
Container content = main.getContentPane();
content.add(pane);


E sad: Zasto smo uopste koristili objekat content (ne vidim njegovu neophodnost, moglo je prosto pisati add.(pane) ukoliko smo zeleli dodati objekat pane u frejm)?
A druga stvar, zar nismo mogli komponente stavljati u objekat pane klase JPanel?



[Ovu poruku je menjao afrodom dana 28.04.2008. u 17:49 GMT+1]

[Ovu poruku je menjao afrodom dana 28.04.2008. u 17:49 GMT+1]
[ 574nk3 @ 28.04.2008. 17:14 ] @
Odgovor na tvoje pitanje se nalazi ovde.

http://www.cc.gatech.edu/class...812_99_winter/swing/sld014.htm
http://www.cc.gatech.edu/class...812_99_winter/swing/sld017.htm


U Javi 1.5 možeš da dodaš objekat Jpanel tako... frame.add(pane)


[Ovu poruku je menjao 574nk3 dana 28.04.2008. u 18:49 GMT+1]
[ afrodom @ 28.04.2008. 17:30 ] @
Hmmm. Linkovi ne rade na koje si me uputio.
Da, znam da Jpanel mozesda dodas kao objekat frejmu prostom komandom add(pane). Ali zasto kreirati objekat klase Container, pa onda u njega integrisati druge komponente, kada mozes direktno na frejm, i podesiti mu Layout, da ih uredis (ako je to neki razlog za uvodjenje Container-a).
Dakle uopste nije neophodan, zar ne?
[ _NEShA_ @ 28.04.2008. 18:06 ] @
linkovi rade...
[ afrodom @ 28.04.2008. 18:54 ] @
Ok, sada rade i pogledao sam ih. Primer HelloWorld2, sasvim isto radi i bez metode getContentPane().
I stoga interesuje me ovo sto sam postavio u prethodnoj poruci (ispod sam ponovo naveo) :

Citat:
afrodom:
Da, znam da Jpanel mozes da dodas kao objekat frejmu prostom komandom add(pane). Ali zasto kreirati objekat klase Container, pa onda u njega integrisati druge komponente, kada mozes direktno na frejm, i podesiti mu Layout, da ih uredis (ako je to neki razlog za uvodjenje Container-a).
Dakle uopste nije neophodan, zar ne?
[ Ha-Nocri @ 30.04.2008. 20:53 ] @
Da, nije neophodan i bezveze je u onom tvom primeru stavljen. Ovako je bolje(manje koda):

JFrame main = new JFrame(“Main Menu”);
JPanel pane = new JPanel();
main.getContentPane().add(pane);


Znaci, ja sam uradio prechicom moze se reci. Ali dodatni red tipa "Container content = main.getContentPane();" se chesto dadaju u kod ako je precica predugachka. Na primer:

ArrayList row = (ArrayList)mainList.get(0); //promenljiva mainList je tipa ArrayList i redovi su joj ArrayList-e
int neshto = 4;
if( neshto == (Integer)row.get(0) ) {/*do something*/} //nulti chlan reda row je tipa Integer


Znaci, ovde smo uveli dodatni red "ArayList row =....." jer bi nam if komanda bila predugachka da smo morali da pishemo sve u njoj.