[ anon315 @ 15.05.2006. 01:36 ] @
Evo odmah slike, pa da objasnim u čemu je problem:



Fokusirajmo se na border "Generalno". Evo bitnih delova koda:

Code:

JPanel panel = new JPanel(new GridLayout(3, 1));
// JCheckBox-ove na panel
panel.add(AlwaysOnTop);
panel.add(CuvajPrevod);
panel.add(Sugestije);


Efekat ovoga je da se delovanje checkbox-ova proširi na ceo red?! Mnogo glupo!

Ok, problem sam (polovično) rešio na sledeći način:

Code:

JPanel panel = new JPanel(new GridLayout(3, 2));
// JCheckBox-ove na panel
panel.add(AlwaysOnTop); panel.add(new JLabel());
panel.add(CuvajPrevod); panel.add(new JLabel());
panel.add(Sugestije); panel.add(new JLabel());


Stvar je malo bolja sada, ali i dalje nije savršena, i dalje se može desiti da korisnik nije pozicionirao pointer na checkbox ili na text u okviru njega, a da je opet u fokusu taj checkbox (to je upravo slučaj na slici gore).

Mene zanima da li ima neko potpuno rešenje? Dakle kako da ograničim da se ne aktivira fokus kada sam u redu grida, ali ne na checkboxu???

Pozdrav

[Ovu poruku je menjao Vanja Petreski dana 15.05.2006. u 02:39 GMT+1]
[ me-tuzalem @ 15.05.2006. 08:29 ] @
Ja bih radije koristio BoxLayout po Y osi, a komponentama (checkboxovima ) bih dao da su leftaligned. Mislim da bi to dalo ono sto trazis.
BTW. Koji je ovo LookAndFeel ?

[Ovu poruku je menjao me-tuzalem dana 15.05.2006. u 09:30 GMT+1]
[ anon315 @ 15.05.2006. 11:14 ] @
Probaću kad dođem gajbi!

Nije u pitanju Javin look&fell, nego sam namestio da uzima sistemsko podešavanje, a skinuo sam paket Longhorn beta tema, pa montirao na Windozu :D
[ anon315 @ 17.05.2006. 00:05 ] @
Code:

JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));


Šljaka :o)

Dosta neobično, ali ovaj kod:

Code:

JPanel panel = new JPanel(new BoxLayout(panel, BoxLayout.Y_AXIS));


baca neki exception, pa mora na gornji način...

Pozdrav
[ me-tuzalem @ 17.05.2006. 11:50 ] @
Citat:
Vanja Petreski:
.... ali ovaj kod:

Code:

JPanel panel = new JPanel(new BoxLayout(panel, BoxLayout.Y_AXIS));


baca neki exception, pa mora na gornji način...


Pa naravno,
jer konstruktor BoxLayouta trazi panel, a panel jos nije instanciran posto mora prvo da se instancira BoxLayout.

To su kokoska i jaje u objektno-orijentisanom svetu :)
[ anon315 @ 18.05.2006. 00:20 ] @
Da, da

[Ovu poruku je menjao Vanja Petreski dana 18.05.2006. u 01:25 GMT+1]