Para reconhecer quando uma tecla é apertada quando vc tem um botão selecionado vc tem que adicionar um KeyListener no botão e tratar o q vai acontecer se a tecla apertada for a q vc quiser.
você também pode fazer isso utilizando o método actionPerformed, que por default detecta o clique do mouse no botão e o enter quando ele está com foco…
a tecla de atalho vc usa o keylistner, então vc tbm pode combinar teclas como alt, ctrl, shift, meta…
Oi,
acho que você deve estar começando ou então
esta meiu confuso né?!
para entender melhor o que o pessoal falou olhe o código abaixo:
ele esta mostrando a função de capturar teclas de teclado.
[code]botao.addKeyListener
(
new KeyAdapter()
{
public
void keyPressed(KeyEvent evt)
{
//
// Cria um int com o codigo do botao
//
int ln_ke_pressionado = evt.getKeyCode();
//
// Se for apertado o botao ENTER
//
if (
ln_ke_pressionado == KeyEvent.VK_ENTER
)
{
//
// Acão do ao clicar.
//
}
else if (
ln_ke_pressionado == KeyEvent.VK_F11
)
{
}
}
}
);[/code]
Bom, como falado também… o botão por sua vez, possui como argumento o seu default Action.
sendo assim você já pode definir uma ação para ele utilizando o ActionPerformed.
Primeiro você deve ao criar o botão, passar como argumento sua ação, assim:
io_bt_teste = new JButton(ACAO);
Em seguida, fora do scopo onde criou o botão, faça a sua ação, assim:
[code]/**
Ação quando clicado em novo.
*/
Action
ACAO = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
//
// Construa sua ação.
//
}
};[/code]
Espero que eu tenha ajudado a esclarecer suas duvidas…
Tchauzin!
Lina, desculpa a ignorância… posso estar falando besteira… se estiver pode me falar…
Mas no código que você postou, o F11 só ativará o botão se for apertado quando o foco estiver no botão né?
Pelo que eu entendi ele queria q o ENTER com o botao no foco disparasse a ação, e o F11 quando o foco estivesse em qualquer componente. Se for isso mesmo, acho que seu código pode não fazer o que ele quer.
–******************************************************–
-Tenho um Jbutton do swing: Como faço pra que ele reconheça o enter qdo estou com o foco nele ?
Como posso colocar uma tecla de atalho por exemplo F11 e qdo o usuario pressionar F11 ele execute a ação do botão ?
–******************************************************–
Olha não sei, eu entendi da forma que postei,
tipo… quando o fóco está no botão ao apertar o enter fazer alguma coisa…
se não for isso me desculpe…
pelo menos pra quem não sabe sobre eventos e permormed minha resposta serve…
Não é tosckisse sua (que palavrinha hein…), acho que nós só entendemos de um jeito diferente… Vamos esperar que ele responda o que ele realmente queria com a pergunta dele…