Opção de confirmação com o comando JOptionPane.showOptionDialog

5 respostas
programaçãoprogramadorjava-sejava
A

Olá Pessoal,

Poderiam me dar uma força?

Estou montando um sisteminha para o cadastro de clientes (projeto da faculdade), e como nem sempre o cliente quer cadastrar o seu endereço, coloquei uma pergunta através da opção JOptionPane.showOptionDialog de um jeito que eu havia visto em outro tópico aqui do fórum.

O Código ficou desta forma:

int validarConfirmacaoEndereco = 0;

Object[] opcoes = { "Sim", "Não" };

validarConfirmacaoEndereco = JOptionPane.showOptionDialog(null, "Deseja cadastrar um endereço para este cliente? ", "Cadastro de Endereços", JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, opcoes, opcoes[0]);

O problema é que quando aperto a tecla Tab o foco vai para o botão “Não” porém ele grava na variavel validarConfirmacaoEndereco o valor zero que corresponde ao “Sim”

Tem como arrumar isso?

Obs.: Lembrando que eu só postei um pedaço do codigo, a declaração da variavel fica no inicio do programa e ele não volta mais nela ou em qual outro lugar para setar zero na variavel que não seja apertando o “Sim” da mensagem. Acredito que seja um problema de foco mesmo!

5 Respostas

J

Usa o JOptionPane.showConfirmDialog(), nele ja existe a opção SIM e NÃO… e o retorno é 0-sim 1-não

A

Boa noite Jederson,

Sim a principio usei desta forma:

validarConfirmacaoEndereco = JOptionPane.showConfirmDialog(null, "Deseja cadastrar um endereço para este cliente?");

Só que mudei porque para mim, não havia a utilidade de ter um “Sim”,“Não”, e “Cancelar” e não consegui implementar no showConfirmDialog o meu objetc opcoes.

Porém da mesma forma que eu falei ocorre o erro do Tab, se eu apertar tab o foco vai para o botão de “Não”, mas grava o valor do “Sim”.

J

kkk o seu vetor so tem duas opções: sim e não, vc so ta refazendo a roda.
Bem… eu testei usando o TAB para mudar o foco nos botoes, e realmente ele somente imprimiu um valor. so altera o valor, com o evento do click do mouse.

D

O botão padrão pra selecionar uma opção no JOptionPane é a tecla “Espaço” e não “Enter”.

P

Cara, utiliza o JOptionPane.showConfirmDialog(); e para de reinventar a roda.

Criado 18 de novembro de 2018
Ultima resposta 19 de nov. de 2018
Respostas 5
Participantes 4