Eu preciso recuperar 3 valores do usuário e armazená-los em variaveis. Após isso, escrever uma mensagem com o resultado de um cálculo com essas variáveis.
Preciso que fique nesse ciclo até que ele clique em Cancelar ao invez de OK. Como faço isso?
do{
x1 = Double.parseDouble(JOptionPane.showInputDialog("Entre com o primeiro atributo"));
x2 = Double.parseDouble(JOptionPane.showInputDialog("Entre com o segundo atributo"));
x3 = Double.parseDouble(JOptionPane.showInputDialog("Entre com o terceiro atributo"));
JOptionPane.showMessageDialog(null, "Mensagem de Resposta");
} while (/*condição de parada com base no botão apertado*/);
Outra dúvida, por acaso tem como eu recuperar as 3 variáveis de uma vez por meio do JOptionPane?
Bom… JOptionPane, através do showInputMessage, retorna apenas String. Então você vai ter que sempre converter para o que você quiser, caso não queira String.
Sempre que quiser usar uma classe, procure no google a documentação dela. Coloque ‘joptionpane 6’ para pegar a documentação dela na versão 6.
Eu já estou fazendo a conversão pra Double, mas esse não é o problema.
O que eu preciso saber é quando ele clicar em Cancelar ao invez de OK.
fernandopaiva
kra…tente fazer assim.
Stringstr;while((str=JOptionPane.showInputDialog(null,"Entre com o valor."))!=null){
System.out.println(str);}
Assim quando o showInputDialog retornar null, ele fecha.
t+ e boa sorte.
Rafael_Mesquita_Mour
E com relação a recuperar os três valores numa única variável você pode fazer:
x1+=Double.parseDouble(JOptionPane.showInputDialog("Entre com o primeiro atributo"));x1+=Double.parseDouble(JOptionPane.showInputDialog("Entre com o primeiro atributo"));x1+=Double.parseDouble(JOptionPane.showInputDialog("Entre com o primeiro atributo"));
Lembrando de antes de chamar o código acima, inicializar a variável com pelo menos o valor 0:
doublex1=0;
Espero ter ajudado ;D
fernandopaiva
nao precisa criar varios joptions, como esta tentando
basta fazer assim
doublevalor=0;intindice=1; Stringstr;while((str=JOptionPane.showInputDialog(null,"Entre com o "+indice+"° valor"))!=null){indice++;valor+=Double.parseDouble(str); System.out.println(valor); }
Bem mais simples
t+ e boa sorte
geovanni
Para digitar os 3 valores dentro de apenas 1 JOptionPanel , vc precisaria colocar 3 JTextFields dentro de um JPanel e depois adicionar dentro do JOptionPanel .