Erro JOptionPane - RESOLVIDO

tenho o seguinte código:

JOptionPane.showMessageDialog(null, "Login ou Senha Inválidos", "ATENÇÃO!!!", JOptionPane.WARNING_MESSAGE);
                        if (nivel == null) {
                            Object[] options = {
                                "Sim", "Sair", "Redigitar"
                            };
                            int selectedOption = JOptionPane.showOptionDialog(null, "Deseja Cadastrar um Novo Usuário?", "ATENÇÃO!!!:",
                                    JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[0]);                            
                            switch (selectedOption) {
                                case 0:
                                    System.out.println("0 -"+selectedOption);
                                    FormCadUsuario formCadUsuario = new FormCadUsuario(q);
                                    formCadUsuario.setVisible(true);
                                    break;
                                case 1:
                                    System.out.println("1 -"+selectedOption);
                                    this.dispose();
                                    break;
                                case 2:
                                    System.out.println("2 -"+selectedOption);
                                    this.dispose();
                                    new FormAutenticacao().setVisible(true);
                                    break;
                            }
                        }

Quando uso o mouse ele pega a opção correta, porém, qdo uso o tab e em seguida o enter, embora o focu, por exemplo, esteja na opção dois ele sempre pega a opção zero , ou seja, com o mouse esta funcinando corretamente, porém com tab e enter não. Como posso resolver isso?

Há uma certa dificuldade no java em entender o enter…
Faça um teste trocando o “enter” pela barra de espaço e verá que dá certo.

Não sei como resolver, mas parece que ele dispara o evento relacionado ao primeiro item selecionado (independente do foco ter sido alterado)

já quebrei bastante a cabeça nisso também e não consegui resolver…
como o drsmachado disse ele dispara o evento ao primeiro item selecionado…

O enter aciona o default button, não o botão que está com o foco. Como disse o drsmachado, quem aciona o botão com foco é a barra de espaço.

Uma forma de “driblar” esta característica, é fazer com que o default button siga o foco.

UIManager.put("Button.defaultButtonFollowsFocus", Boolean.TRUE);

Valew!
As duas opções são boas.
Acabei utilizando a opção do Eric Yuzo.
Agradeço a todos.