Avatar billede clone Nybegynder
17. maj 2001 - 14:48 Der er 3 kommentarer og
1 løsning

JTable event ved markering af celle, hvordan?

Jeg er interesseret i at modtage et event hver gang brugeren aktiverer en celle i min JTable - f.eks. ved musseklik i en celle, eller ved at flytte focus fra en celle til en anden med piletasterne.
Jeg skal bare vide hvilken celle der er flyttet til.
Hvordan gør jeg det? Hvilken EventListener skal jeg bruge?
Avatar billede disky Nybegynder
17. maj 2001 - 14:51 #1
prøv med en:

CellEditorListener eller ListSelectionListener eller TableColumnModelListener eller TableModelListener.

Den første tror jeg det er
Avatar billede logical Nybegynder
18. maj 2001 - 22:24 #2
Den var faktisk lidt sværere end som så.
For at få fokuscellen har jeg snydt lidt, men det virker.

        t.addMouseListener(new MouseAdapter() {
            public void mousePressed(MouseEvent e) {
                    System.out.println(\"You are in (\" + t.getSelectedColumn() +
                        \",\" + t.getSelectedRow() + \")\");
            }
        });
       
        t.addKeyListener(new KeyAdapter() {
            public void keyTyped(KeyEvent e) {
                if (e.getKeyChar() == \'\\t\') {
                    // Both tab and shift-tab will come here.
                    System.out.println(\"You are in (\" + t.getSelectedColumn() +
                        \",\" + t.getSelectedRow() + \")\");
                }
                   
            }
        }
        );

Både mouselistener og key listener skal selvfølgelig bare gøre hvad du nu end vil gøre, men jeg fanger de ændringer, der betyder at fokus vil skifte.
(Beklager, jeg ikke kan gøre det bedre)
Avatar billede clone Nybegynder
21. maj 2001 - 14:44 #3
logical: sjovt, det er præcis denne metode jeg selv har fundet frem til. Jeg tænkte bare at der da måtte være en anden og smartere metode - en eller anden listener, som var lavet til formålet.
Nåh, men nu holder jeg mig til \"vores\" metode, og du får naturligvis de point.
Mvh.
clone
Avatar billede logical Nybegynder
21. maj 2001 - 16:27 #4
Jeg kiggede lidt rundt, men har ikke været helt i dybden endnu, hvem ved en dag...

De fleste steder vil jeg være FocusListener for at følge fokus, men på en JTable gælder det kun ind til og ud fra JTablen generelt, fordi den har sin egen focus manager kørende. Indtil jeg har ledt koden igennem bliver jeg derfor nødt til den anden. Bare rolig, det irriterer også mig, rigtigt grusomt, at gøre sådan.
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