Olá pessoal,
alguém sabe como posso colocar a ação do enter nos botões do meu sistema swing atualizando todos direto. Tipo assim, como a classe UIManager (javax.swing.UIManager;).
Valeu pela atenção!!!
Marcelino Neto - Goiânia - Goiás.
Colocar Ação do "Enter"(tecla) nos botões?
4 Respostas
CARA, naum entendi a sua pergunta???
vc quer apenas colocar um evento???
:lol:
Assim,
todos os botões quando criado eles não atendem (ou escuta) a ação do Enter do teclado, que no caso é a barra de espaço. Eu queria saber se possui uma classe que coloca neles o evento direto. Tipo assim, esse trecho de código muda as opções dos JOptionPane do sistema para os nomes passados:
UIManager.put("OptionPane.yesButtonText", "Sim");
UIManager.put("OptionPane.noButtonText", "Não");
UIManager.put("OptionPane.cancelButtonText", "Cancelar");
crie um keylistener…
KeyListener
kl_enter = new KeyListener()
{
// Evento disparado quando uma tecla eeh pressionada..
public
void keyPressed(KeyEvent ev)
{
// pega a tecla pressionada..
int
tecla_pressionada = ev.getKeyCode();
// se for o enter..
if (tecla_pressionada == KeyEvent.VK_ENTER)
{
// da o click no botaum
seuButton.doClick();
}
}
public
void keyReleased(KeyEvent ev)
{
// Interface obrigatoria
}
public
void KeyTyped(KeyEvent ev)
{
// Interface obrigatoria
}
};
e adicione ao seu botao…
seuButton.addKeyListener(kl_enter);
e no seu botão você faz o actionListener… 
espero ter ajudado…
:scrambleup: Ok, estou meio atrasado com a resposta mas...
jButton.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("Enter"), "Enter Pressed");
jButton.getActionMap().put("Enter Pressed", new MyOwnEvent());
//-------------------------------------------------------
private class MyOwnEvent extends AbstractAction{
public void actionPerformed(ActionEvent e) {
// do stuff
}
}
Você pode tentar colocar isso de forma recursiva em um Frame... Algo mais ou menos como o explicado nesse artigo aqui ó...
[size="9"]Editado para incluir link para artigo[/size]