Tecla de funcao

2 respostas
zap

Pessoal, como posso associar uma tecla de funcao diretamente a um JFrame ?

private void initialize(){
		this.statusJPanel = new StatusJPanel();
		this.setSize( Toolkit.getDefaultToolkit().getScreenSize() );
		this.setContentPane( getTelaPdvJContentPane() );
		this.setTitle("My View");
		this.addKeyListener( new java.awt.event.KeyAdapter() {
			public void keyPressed( java.awt.event.KeyEvent e ){
				System.out.println( "keyPressed()" ); // TODO Auto-generated Event stub keyPressed()
				if( e.getKeyCode() == Event.F2 ){
					System.out.println( "F2 key pressed" ); // TODO Auto-generated Event stub keyPressed()
				}
			}
		} );
	}

O codigo acima nao funcionou. Obs: estou usando o Eclipse Visual Editor

2 Respostas

R

Você precisa registrar a tecla de função no InputMap do JFrame. Recomendo checar o endereço abaixo:

http://www.exampledepot.com/egs/javax.swing/KeyStrokes.html

zap

Valeu cara, funcionou!

Nao consegui associar diretamente ao JFrame, mas sim ao seu JPanel.

Mas ainda assim nao entendo o porque de nao ser possivel associar diretamente um KeyEvent a um JFrame ou JPanel. Ate porque o VE permite fazer isso.

Obrigado

Criado 29 de abril de 2009
Ultima resposta 30 de abr. de 2009
Respostas 2
Participantes 2