Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [java] KeyEvent su JTable

    sto provando ad intercettare la pressione delle frecce direzionali su una JTable.

    Ho registrato e implementato il listener come sempre...
    codice:
    table.addKeyListener(new KeyAdapter(){
      /**
       * @see java.awt.event.KeyAdapter#keyTyped(KeyEvent)
       */
      public void keyTyped(KeyEvent evt) {
        [..]
      }
    });
    ma .. non riesco proprio ad intercettare le frecce...
    Imposto un breakpoint sulle istruzioni del metodo
    keyTyped(KeyEvent evt) .. e per le frecce non viene mai invocato...

    com'è??
    ► ☺ ◄

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Puoi postare il codice (o almeno il controllo) del metodo keyTyped()? Potrebbe essere un problema che ho riscontrato anch'io con l'uso del getKeyCode().


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    appena recupero il codice lo posto.
    Quello che non capisco è il fatto di non entrare proprio nel metodo
    codice:
    public void keyTyped(KeyEvent evt)
    il problema non è testando il keyCode... proprio non viene intercettato l'evento...
    Iniziavo a pensare che le frecce direzionali, essendo "comandi" che generano eventi sulla tabella, non debbano essere intercettate con un listener sulla Jtable ma forse su qualche altro componente interno.. ma non trovo conferme.
    ► ☺ ◄

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Non ho mai usato JTable, ma visto che non entra nel metodo keyTyped() mi viene da pensare che il problema sia simile a quello provocato dai listener associati ai Frame quando ci sono delle TextField: in questo caso il Frame non riceve la pressione dei tasti in quanto l'oggetto attivo è il JTextField.

    Se il problema è simile, allora è probabile che non vada registrata la JTable sul listener, ma un componente interno alla tabella (come, ad esempio, il TableCellEditor o il TableModel).


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.