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.
http://download.oracle.com/javase/6/docs/api/javax/swing/JOptionPane.html
O resto é lógica de programação mesmo.
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.
kra…tente fazer assim.
String str;
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.
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:
double x1 = 0;
Espero ter ajudado ;D
nao precisa criar varios joptions, como esta tentando
basta fazer assim
double valor = 0 ;
int indice = 1;
String str;
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
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 .
Acho mais fácil continuar fazendo separados. ^^