Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    42

    keyEvent Java (tasto tab)

    Perchè il mio keyEvent non intercetta il tasto tab ma invio si?
    ovvero perchè se premo invio esegue il metodo consuma e se premo tab no?
    codice:
    class CodMerceAscoltatore implements KeyListener{
               
               private void __forwardEventToButton(KeyEvent keyEvent){
               }
               public void keyTyped(KeyEvent keyEvent) {
               }
               public void keyPressed(KeyEvent keyEvent) {
               	int ch = keyEvent.getKeyCode();
                
           // Tab  = 9
           // Invio  = 10   (con invio entra con tab no!
              if (ch == 10 | ch ==9)
                  consuma(keyEvent,ch);
    
               }
               public void keyReleased(KeyEvent keyEvent) {
            	 
                 
               }
               void consuma(KeyEvent keyEvent,int ch){
               	  System.out.println("tasto "+ch); 
               }
               
            
      }
    assioma

  2. #2
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Non capisco quel Tab=9 e Invio=10, sei sicuro siano quelli i codici??
    IO farei:
    codice:
    if(ch = VK_TAB || ch = VK_ENTER)....
    Dai una guardata qui:
    http://java.sun.com/j2se/1.5.0/docs/.../KeyEvent.html
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    42
    Ho provato anche così:
    codice:
    char c = keyEvent.getKeyChar();
    char c = keyEvent.getKeyChar();
               
    if (c == KeyEvent.VK_ENTER || c == KeyEvent.VK_TAB)
       consuma(keyEvent,c);

    ma funziona solo per invio e non tab
    assioma

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Eh già... credo che non si possa intercettare la pressione del TAB, in quanto è il tasto che sposta il focus e, probabilmente, viene intercettato da qualche altra parte prima del Listener.


    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

  5. #5
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Mmm....mi pare molto strano però...forse una ricerca sul sito Sun....ora vedo!
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  6. #6
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    Forse questo dovrebbe essere risolutivo:
    Version note: This page reflects the focus API introduced in released 1.4. As of that release, the focus subsystem consumes focus traversal keys, such as Tab and Shift Tab. If you need to prevent the focus traversal keys from being consumed, you can call

    component.setFocusTraversalKeysEnabled(false)

    on the component that is firing the key events. Your program must then handle focus traversal on its own. Alternatively, you can use a KeyEventDispatcher to pre-listen to all key events. The focus page has detailed information on the focus subsystem.
    Trovato qui:
    http://java.sun.com/docs/books/tutor...ylistener.html
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Ottimo! Bisogna, quindi, disattivare il gestore del focus predefinito.


    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

  8. #8
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    :metallica La cosa che amo di più di Java è la reperibilità delle informazioni :metallica
    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

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.