Executar comandos ao pressionar F1 em um jtextfield

Olá pessoal! Quero que um jdialog apareça ao pressionar f1 em um textfield. Associei o evento KeyTyped ao textfield e está certo, tanto que se eu colocar determinada tecla da certo, porém teclas como f1,f2, insert etc. não disparam o KeyTyped. Como fazer isso? Obrigado!

Coloque no eventendo KeyPressed…

jTextField1KeyPressed(KeyEvent etv){ if (evt.getKeyCode() == KeyEvent.VK_F1){ ... ... } if (evt.getKeyCode() == KeyEvent.VK_F2){ ... ... } if (evt.getKeyCode() == KeyEvent.VK_INSERT){ ... ... } }

Veja se e isso q vc precisa…

Olá amigo! É isso que eu quero sim, mas o problema é que essas teclas não disparam o evento KeyTyped. Tipo,
vc associa o evento ao textfield, mas quando aperta f1 esse evento não é disparado e então esses comandos não são executados… Obrigado!

Vc realmente necessita que seja o KeyTyped pq não usa o KeyPressed, que as teclas são disparadas normalmente conforme o Fernando mostrou .

Olá amigo! Eu preciso que seja o KeyTyped, pois tenho um textfield para digitar o codigo de uma despesa, onde eu queria que ao apertar f1 aparecesse um jdialog com uma jtable com todas as despesas cadastradas, pra escolher. Entao se tiver que segurar o f1, não dá. E além disso, coloquei o evento KeyPressed e segurei o f1 e não disparou o evento, e o problema não é com o listener, pois se eu colocar outra tecla aciona, mas com as teclas que mencionei, f1,f2,insert etc. , nao dispara. Obrigado!

Amigo, pelo que consta na documentação da classe KeyEvent você não vai conseguir usar esse evento na tecla F1

“Key typed” events are higher-level and generally do not depend on the platform or keyboard layout. They are generated when a Unicode character is entered, and are the preferred way to find out about character input. In the simplest case, a key typed event is produced by a single key press (e.g., ‘a’). Often, however, characters are produced by series of key presses (e.g., ‘shift’ + ‘a’), and the mapping from key pressed events to key typed events may be many-to-one or many-to-many. Key releases are not usually necessary to generate a key typed event, but there are some cases where the key typed event is not generated until a key is released (e.g., entering ASCII sequences via the Alt-Numpad method in Windows). No key typed events are generated for keys that don’t generate Unicode characters (e.g., action keys, modifier keys, etc.). The getKeyChar method always returns a valid Unicode character or CHAR_UNDEFINED. For key pressed and key released events, the getKeyCode method returns the event’s keyCode. For key typed events, the getKeyCode method always returns VK_UNDEFINED.

Apenas quando um caracter Unicode é inserido que esse evento é acionado, voce pode fazer o teste, se teclar Alt o evento não é acionado, se teclar Alt+1+6+7, é inserido um caracter e o evento é acionado

Espero ter ajudado
Abraços