17. maj 2001 - 14:48Der 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?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
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)
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
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.
Synes godt om
Ny brugerNybegynder
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.