Tenho o seguinte showOptionDialog():
[code]Object[] options = { " Sim ", " Não " };
JOptionPane.showOptionDialog(this.getContentPane(), “Deseja excluir o registro ?”, “Informação”, JOptionPane.YES_NO_OPTION,
OptionPane.WARNING_MESSAGE, null, options, options[1]);[/code]
Porém, eu não consigo navegar entre as opções " Sim " e " Não " com as setinhas do teclado.
Nesse exemplo, vem com foco padrão a opção " Não " para o usuário não deletar o registro sem querer.
Mas se eu quiser ir para o " Sim " só consigo pelo mouse e gostaria de poder manipular isso com as setinhas do teclado…
A única forma de fazer isso, sem ter de reescrever seu próprio JOptionPane, é você navegar com as teclas Tab e Shift+Tab.
Para você “apertar o botão”, use a barra de espaços.
Infelizmente, mesmo usando um outro Look & Feel, as setas não se deslocam entre os botões.
Se isso for realmente um requisito de projeto, eu aconselharia a escrever um substituto para o JOptionPane que faça exatamente o que seu cliente quer. (Normalmente isso parece bem mais profissional, embora seja meio trabalhoso). O JOptionPane é mais um “quebra-galho” que outra coisa.
De qualquer forma, se você precisa se deslocar entre botões e campos sem usar apenas a tecla TAB, você precisa aprender a usar “key bindings”. Por exemplo:
http://www.guj.com.br/posts/list/92862.java#497384
(Nesse exemplo o Thingol ensina a usar o ENTER como se fosse o TAB (passar para o próximo campo), e as setas para navegar entre campos).
Veja também: http://java.sun.com/docs/books/tutorial/uiswing/misc/keybinding.html