Avatar billede deducer Nybegynder
11. oktober 2002 - 20:14 Der er 10 kommentarer og
1 løsning

flyt cursor i JTable

Hej Eksperter !

Vi sidder og bøvler med et lille problem :
Vi skal gemme data, der tastes ind i en JTable, men
cusoren skal flyttes fra et felt, før værdien i feltet kommer med i gemningen.
Vi har prøvet lidt af hvert, men sidder midt i en datamatiker-hovedopgave, og har nok at se til.
Avatar billede hbhansen Nybegynder
11. oktober 2002 - 20:21 #1
Kan i ikke bruge en af disse to metoder på JTable:
setEditingColumn(int aColumn);
setEditingRow(int aRow);
Og så selvfølgelig sørge for at i ikke rammmer den cusoren står i :-)
Avatar billede hbhansen Nybegynder
11. oktober 2002 - 20:22 #2
Avatar billede deducer Nybegynder
11. oktober 2002 - 20:35 #3
Hej hbhansen
det du foreslår er en af de ting vi har prøvet - det hjælper umiddelbart ikke - tak for dit hurtige svar --
Vi har også pløjet JTable - DefaultTableModel docs igennem
Avatar billede hbhansen Nybegynder
11. oktober 2002 - 20:38 #4
deter måske heller ikke nemt at skifte focus over på en anden komponent i GUI'en? Jeg ved ikke om det virker men det er da et forsøg værd !
Avatar billede aslan Nybegynder
11. oktober 2002 - 20:50 #5
Gider du at uddybe dit problem lidt mere klart, har svært ved at forstå hvilken funktionalitet du leder efter?
Avatar billede deducer Nybegynder
11. oktober 2002 - 20:51 #6
vi henter data ud af tabellen via kald til getValueAt(int row, int column)(i en tableModel vi har lavet - der arver fra DefaultTableModel)
men det virker som om tableModellen først læsser data ind i dataVector, når cursoren flyttes.

Hvilken klasse definerer setFocus() ??
Avatar billede deducer Nybegynder
11. oktober 2002 - 21:03 #7
Jeg har ikke "skiftet focus" i gui før ....
det foregår vel via et metodekald. Er det f.eks. JComponent der har denne metode ??
Avatar billede hbhansen Nybegynder
11. oktober 2002 - 21:03 #8
Prøv noget med navnpåkomponent.requestFocus(); Det er en del af JComponent
http://java.sun.com/j2se/1.4/docs/api/javax/swing/JComponent.html
Avatar billede aslan Nybegynder
11. oktober 2002 - 21:04 #9
Hvis du vil have focus på en bestemt celle kan du gøre således:

table.setRowSelectionInterval(row,row);
table.setColumnSelectionInterval(column,column);
Avatar billede deducer Nybegynder
11. oktober 2002 - 22:16 #10
Hej aslan --
jeg har lige testet dit foreslag. Det løser umiddelbart ikke problemet -
men flytter godtnok selection'en !
Jeg pauser nu, men vender tilbage søndag ....

tak for foreslag
Avatar billede deducer Nybegynder
19. august 2004 - 13:43 #11
Problemet er løst for længe siden - her er alligevel point som tak for hjælpen
(Vi måtte helt ind i maven på JTextField og overskrive PlainDocument.insertString() )
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester