Ativar jButton no teclado[RESOLVIDO]

13 respostas
evertonsilvagomesjav

Boa tarde galera, to com um projeto pequeno aqui onde ele tem um botao INICIAR, como faço para ativar esse botao INICIAR pelo meu teclado apertando por exemplo alt + i.

Desde ja agradeço a todos.

13 Respostas

B

Coloca a letra “I” na propriedade mnemonic do seu JButton.

Abraço.

evertonsilvagomesjav

rsrs biro tem como da um exemplo por favor? eu criei os botoes todos pela paleta nao sei como fazer o que vc me falou, se tiver como da um exemplo agradeço d mais!!

evertonsilvagomesjav

seria isso?

jButtonIniciar.setMnemonic(“I”);

evertonsilvagomesjav

opa fuçando aqui eu consegui ficou assim:

jButtonIniciar.setMnemonic(KeyEvent.VK_I);

mas dai uma duvida esse “VK” esta fazendo qual açao pra mim pq dessa forma eu so consigo utilizar com o alt e se eu quisesse somente o “I” teria como?

B

O parâmetro a ser passado para o método setMnemonic() é um char.

Ficaria assim então:

jButton1.setMnemonic('I');

Desta forma ele adicionaria um sublinhado na primeira letra “I” do texto do jbutton.
Eu desconheço uma forma de acionar o botão sem o ALT, teclando somente o “I”.

evertonsilvagomesjav

hum brigadao biro mas vc sabe me dizer qual a diferença entre os codigos:

jButtonIniciar.setMnemonic('I')
jButtonIniciar.setMnemonic(KeyEvent.VK_I)
E

setMnemonic (int) é o recomendado; setMnemonic (char) é obsoleto e não deve ser usado.

evertonsilvagomesjav

puts nao entendi entanglement se for um parametro (int) como vou indicar a letra que eu quero?

B

Dá uma olhada na documentação da classe KeyEvent, a constante VK_I, por exemplo, retorna um int.

lina

Oi,

Como assim? obsoleto?

Tchauzin!

evertonsilvagomesjav

rsrs se vc nao entendeu Lina imagina eu kkk

lina

Oi,

Fui ler a especificação e encontrei: setMnemonic(char) is deprecated.

Motivo:

Porque trata apenas as teclas de caracteres (a-z e A-Z), deixando de fora uma série de outras teclas. (“This method is now obsolete, please use setMnemonic(int) to set the mnemonic for a button. This method is only designed to handle character values which fall between ‘a’ and ‘z’ or ‘A’ and ‘Z’.”)

Estranho, minha IDE não apresentou o mesmo como deprecated.

Tchauzin!

ViniGodoy

Só para citar.

Existem outras formas de tratar pressionamento de botões:
a) Se você tem um botão, que deve ser pressionado quando o usuário pressionar ENTER, a qualquer momento. Isso é chamado botão padrão. Para defini-lo faça, na construção do seu frame:

getRootPane().setDefaultButton(seuBotao);

b) Se você tiver uma ação, que precisa ser executada assim que uma tecla é pressionada (como os botões de uma calculadora), use um ActionMap e um KeyMap:
http://www.guj.com.br/posts/list/140986.java

c) Se você tem uma tecla, que deve ser ativada quando for pressionada sobre um componente específico, use um KeyListener.

Criado 26 de outubro de 2009
Ultima resposta 26 de out. de 2009
Respostas 13
Participantes 5