|
| JTable og focus events Fra : Mikael Flensborg |
Dato : 21-10-04 09:01 |
|
Hej...
Har et kæmpe problem, som nogen måske har bøvlet med og kender en løsning
på...
Jeg har en JInternalFrame med 2 JTables i (eller flere)... Begge disse
tabeller indeholder både editerbare celler og ikke editerbare celler...
I min kode er det vigtigt for mig at vide hvornår en tabel modtager og
mister focus.. Så jeg smider naturligvis FocusListenerere i hovedet af
tabellerne (gider ikke at belemre jer med den banale kode)... Og det virker
sådan set også når tabellen IKKE er i "edit mode"... Dvs hvis man er ved at
rette en celle i den ene tabel, hvorefter man klikker på den anden tabel
(den første tabel er stadig i edit mode), så får den første tabel ALDRIG et
focusLost event...
Helt galt går det, hvis begge tabeller er i editmode, og man klikker frem og
tilbage... INGEN af dem for nogen som helst focusEvents... Selv hvis en af
tabellerne IKKE er i editmode, og man klikker sig direkte ind i en editerbar
celle (fra en anden tabel), får man aldrig et focusGained event...
Gode dyr er rådne.. Hjælp eller hints modtages med kyshånd...
/Mikael Flensborg
| |
Peter Kjellerup Rasm~ (21-10-2004)
| Kommentar Fra : Peter Kjellerup Rasm~ |
Dato : 21-10-04 11:37 |
|
Hej Mikael.
Jeg ved ikke om det er noget du kan bruge, men der er et eksempel på
tracking af fokuschange når man har flere components her :
http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html#trackingFocus
Muligvis er det du har brug for en BasictableUI hvor du kan skræddersy
fokushåndtering til JTable...
Mvh
Peter
Mikael Flensborg wrote:
> Hej...
>
> Har et kæmpe problem, som nogen måske har bøvlet med og kender en løsning
> på...
>
> Jeg har en JInternalFrame med 2 JTables i (eller flere)... Begge disse
> tabeller indeholder både editerbare celler og ikke editerbare celler...
>
> I min kode er det vigtigt for mig at vide hvornår en tabel modtager og
> mister focus.. Så jeg smider naturligvis FocusListenerere i hovedet af
> tabellerne (gider ikke at belemre jer med den banale kode)... Og det virker
> sådan set også når tabellen IKKE er i "edit mode"... Dvs hvis man er ved at
> rette en celle i den ene tabel, hvorefter man klikker på den anden tabel
> (den første tabel er stadig i edit mode), så får den første tabel ALDRIG et
> focusLost event...
>
> Helt galt går det, hvis begge tabeller er i editmode, og man klikker frem og
> tilbage... INGEN af dem for nogen som helst focusEvents... Selv hvis en af
> tabellerne IKKE er i editmode, og man klikker sig direkte ind i en editerbar
> celle (fra en anden tabel), får man aldrig et focusGained event...
>
> Gode dyr er rådne.. Hjælp eller hints modtages med kyshånd...
>
> /Mikael Flensborg
>
>
| |
Lars Dam (21-10-2004)
| Kommentar Fra : Lars Dam |
Dato : 21-10-04 18:05 |
|
On Thu, 21 Oct 2004 10:00:35 +0200
"Mikael Flensborg" <mcvf@axacon.dk> wrote:
> Hej...
>
> Har et kæmpe problem, som nogen måske har bøvlet med og kender en løsning
> på...
>
> Jeg har en JInternalFrame med 2 JTables i (eller flere)... Begge disse
> tabeller indeholder både editerbare celler og ikke editerbare celler...
>
> Helt galt går det, hvis begge tabeller er i editmode, og man klikker frem og
Umuligt - kun een komponent kan have fokus ad gangen - med mindre du laver noget
virkeligt snask.
> tilbage... INGEN af dem for nogen som helst focusEvents... Selv hvis en af
> tabellerne IKKE er i editmode, og man klikker sig direkte ind i en editerbar
> celle (fra en anden tabel), får man aldrig et focusGained event...
>
> Gode dyr er rådne.. Hjælp eller hints modtages med kyshånd...
Se her for et fokus forløb, husk at en tabel, og en editor er _to_ forskellige
komponenter, og husk på det jeg skrev lige før:
tabel1 har fokus
cell editor i tabel 1 får fokus = tabel1.focuslost, celleditor1.focusgained
tabel2 får fokus = celleditor1.focuslost, tabel2.focusgained - altså helt udenom
tabel1
cell editor i tabel 2 får fokus = tabel2.focuslost, celleditor2.focusgained
tabel1 går i edit mode i en celle = celleditor2.focuslost,
celleditor1.focusgined - helt uden om tabellerne
Altså - du skal have noget fokus listener på dine cell editors i dine tabeller
hvis du skal have det til at funke.
>
> /Mikael Flensborg
>
>
vh. ld
| |
Mikael Flensborg (22-10-2004)
| Kommentar Fra : Mikael Flensborg |
Dato : 22-10-04 08:12 |
|
Tak for tippet, det var det jeg endte med at implementere
/Mikael
"Lars Dam" <larsdam@post2.tele.dk> skrev i en meddelelse
news:20041021190519.64ac9b3f@galadriel...
On Thu, 21 Oct 2004 10:00:35 +0200
"Mikael Flensborg" <mcvf@axacon.dk> wrote:
> Hej...
>
> Har et kæmpe problem, som nogen måske har bøvlet med og kender en løsning
> på...
>
> Jeg har en JInternalFrame med 2 JTables i (eller flere)... Begge disse
> tabeller indeholder både editerbare celler og ikke editerbare celler...
>
> Helt galt går det, hvis begge tabeller er i editmode, og man klikker frem
og
Umuligt - kun een komponent kan have fokus ad gangen - med mindre du laver
noget
virkeligt snask.
> tilbage... INGEN af dem for nogen som helst focusEvents... Selv hvis en af
> tabellerne IKKE er i editmode, og man klikker sig direkte ind i en
editerbar
> celle (fra en anden tabel), får man aldrig et focusGained event...
>
> Gode dyr er rådne.. Hjælp eller hints modtages med kyshånd...
Se her for et fokus forløb, husk at en tabel, og en editor er _to_
forskellige
komponenter, og husk på det jeg skrev lige før:
tabel1 har fokus
cell editor i tabel 1 får fokus = tabel1.focuslost, celleditor1.focusgained
tabel2 får fokus = celleditor1.focuslost, tabel2.focusgained - altså helt
udenom
tabel1
cell editor i tabel 2 får fokus = tabel2.focuslost, celleditor2.focusgained
tabel1 går i edit mode i en celle = celleditor2.focuslost,
celleditor1.focusgined - helt uden om tabellerne
Altså - du skal have noget fokus listener på dine cell editors i dine
tabeller
hvis du skal have det til at funke.
>
> /Mikael Flensborg
>
>
vh. ld
| |
Soren Kuula (21-10-2004)
| Kommentar Fra : Soren Kuula |
Dato : 21-10-04 18:21 |
|
Mikael Flensborg wrote:
> Hej...
>
> Gode dyr er rådne.. Hjælp eller hints modtages med kyshånd...
>
> /Mikael Flensborg
Hej, jeg kna vagt erindre noget i den retning ...
Men mit generelle råd til alle :) er at snige sig uden om focus snadder
og finde en anden løsning. Der er vist noget edit event noget på
tabellerne, som jeg husker det .. ?
Men sig lige hvad der er der skal ske ved focus; jeg er ret sikker på at
der er en bedre løsning.
MVH
Søren
| |
Mikael Flensborg (22-10-2004)
| Kommentar Fra : Mikael Flensborg |
Dato : 22-10-04 08:14 |
|
Som nævnt... Endte med at smide focus listenere i hovedet af cell editors...
Tro mig der er ikke nogen bedre løsning... Jeg er NØDT til at vide, når en
given tabel har focus..For at kunne knytte nogen bestemte actions til en
menu...
/Mikael
"Soren Kuula" <dongfang-remove_this@remove_this-bitplanet.net> skrev i en
meddelelse news:QdSdd.59341$Vf.2805394@news000.worldonline.dk...
> Mikael Flensborg wrote:
> > Hej...
> >
> > Gode dyr er rådne.. Hjælp eller hints modtages med kyshånd...
> >
> > /Mikael Flensborg
>
> Hej, jeg kna vagt erindre noget i den retning ...
>
> Men mit generelle råd til alle :) er at snige sig uden om focus snadder
> og finde en anden løsning. Der er vist noget edit event noget på
> tabellerne, som jeg husker det .. ?
>
> Men sig lige hvad der er der skal ske ved focus; jeg er ret sikker på at
> der er en bedre løsning.
>
> MVH
> Søren
>
| |
Soren Kuula (22-10-2004)
| Kommentar Fra : Soren Kuula |
Dato : 22-10-04 22:51 |
|
Mikael Flensborg wrote:
> Som nævnt... Endte med at smide focus listenere i hovedet af cell editors...
>
> Tro mig der er ikke nogen bedre løsning... Jeg er NØDT til at vide, når en
> given tabel har focus..For at kunne knytte nogen bestemte actions til en
> menu...
Cell editors, der var ordet jeg kunne huske svagt :)
OK, held og lykke m focus :)
MVH
Søren
| |
|
|