Colocar Ação do "Enter"(tecla) nos botões?

4 respostas
M

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.

4 Respostas

oliveirarenan

CARA, naum entendi a sua pergunta???

vc quer apenas colocar um evento???

:lol:

M

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");

keller

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… :wink:
espero ter ajudado…

martui

: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]

Criado 4 de outubro de 2004
Ultima resposta 3 de nov. de 2004
Respostas 4
Participantes 4