JOptionPane.showOptionDialog não aceita comandos do teclado

Tenho um JOptionPane.showOptionDialog com um botão SIM e um botão NÃO, segue o código abaixo:

[code]int i = JOptionPane.showOptionDialog(this, “Deseja cancelar?”, “Confirmação”, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, btSimNao, btSimNao[1]);
if (i == JOptionPane.YES_OPTION) {
minha condição;
}

[/code]

quero que ao usuário apertar a tecla S do teclado o botão SIM do meu JOptionPane.showOptionDialog seja executado e ao apertar a tecla N o botão NÃO seja executado mas não sei como fazer,
alguém tem alguma ideia?

Ninguém?

Desculpa a insistência, mas ninguém pode me ajudar com isso?