/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
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


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408182
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste