olá pessoal belezinha!!!
olha eu queria saber como eu faço pra capturar o evento do teclado…
por exemplo, deixar uma Thread rodando aguardando que seja precionada a tecla F1 por exemplo… como eu faço isso???
Obrigado!!!
olá pessoal belezinha!!!
olha eu queria saber como eu faço pra capturar o evento do teclado…
por exemplo, deixar uma Thread rodando aguardando que seja precionada a tecla F1 por exemplo… como eu faço isso???
Obrigado!!!
Apenas a AWT (e, consequentemente o Swing) tem suporte aos eventos de teclado.
Você pode registrar um key listener num form, ou trabalhar com os [http://www.guj.com.br/posts/list/47289.java#258583]KeyMaps[/url] de um componente, ou ainda se beneficiar da classe KeyStroke.
Seja qual for a alternativa, ela serve apenas para o modo gráfico.
então kra eu to usando Swing to fazendo um lancamento de produtos certo e quando o usuário precionar devidas teclas eu direciono ele pra outra interface saca… e pra isso eu preciso capturar o que ele digitou entende…
como eu o faria???
Use a dica do keymap e action map, dada acima. Registre para seu painel principal as ações das teclas que você deseja (provavelmente F1, F2 ou qualquer coisa assim, não?)
No exemplo abaixo, registro para a tecla F1 a ação abrir cadastro. A ação é estaria programada numa classe chamada AbrirCadastroAction, filha de AbstractAction.
Esse código é colocado ao final do construtor de seu formulário, após já ter construído pelo menos o painel principal.
InputMap imap = seuPainel.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
imap.put(KeyStroke.getKeyStroke("F1"), "panel.buttonF1press");
//Mapeamos o botão F1 a ação descrita pela string.
ActionMap amap = seuPainel.getActionMap();
//Mapeia a string para a ação a ser executada.
amap.put("panel.buttonF1press", new AbrirCadastroAction());
olha só eu coloquei esse código q vc me passou aqui mais só que ele da erro na ultima linha
amap.put("panel.buttonF1press", new AbrirCadastroAction());
não entendi o que eu tenho que fazer, como seria essa classe AbrirCadastroAction()??
ouw desculpa eu saquei agora o que tinha q fazer… deu certinho muito obrigado
vlw mesmo cara!!!
ViniGodoy
desculpa eu voltar aqui mais é o seguinte, esse código q vc passou pra mim funciona certinho mais pra cada evendo que eu precisar tratar eu vou ter que cirar uma classe filha de AbstractAction, ta isso ainda não é problema , mais é o seguinte eu preciso por exemplo quando for precionada a tecla F10 atualizar a os dados da minha JTable que esta na mesma classe onde eu coloquei o código q vc passou , então não da certo saca…
será q não tem outro jeito de eu capturar o evento do teclado sem que eu precise criar uma classe filha de AbstractAction, e que o evento seje tratado na própria classe???