Problema no showMessageDialog

4 respostas
mirrah
Primeiramente boa noite para todos. Estou aqui para pedir ajuda a qualquer alma caridosa que queira me ajudar com o seguinte cádigo:
import javax.swing.JOptionPane;

public class guiParte1 {

	public static void main(String[] Args){
	
	//obtem a entrada de usuário a partir dos diálogos de entrada JOptionPane
	String firstNumber = JOptionPane.showInputDialog( "Enter first number: " );
	String secondNumber = JOptionPane.showInputDialog( "Enter second number: " );
	
	//converte String para int para utilização em um cálculo
	int number1 = Integer.parseInt( firstNumber );
	int number2 = Integer.parseInt( secondNumber );
	
	int sum = number1 + number2;
		
	//exibe o resultado em um diálogo de jOptionPane
	JOptionPane.showMessageDialog( null, "The sim is: " + sum + 
			"Sum of Two Integers", "JOptionPane.PLAIN_MESAGE" );
	
  }
}
Estou estudando pelo livro do Deitel, estava copiando um exemplo, quando eu vi um erro no meu código. Tentei muitas vezes ver qual era o erro, até comparei o que eu escrevi com a fonte, mas sem  sucesso em encontra-lo.
O erro está na linha 18, mais precisamente sobre o "showMessageDialog".
Será que alguém por gentileza poderia me ajudar a encontrar esse erro por favor?
Desde já muito agradecido.

4 Respostas

Eric_Yuzo

Tente desta forma:

JOptionPane.showMessageDialog( null, "The sim is: " + sum + "Sum of Two Integers", "Título", JOptionPane.PLAIN_MESSAGE );
O quarto argumento do JOptionPane é um int, onde você está passando a constante PLAIN_MESSAGE da classe JOptionPane.

[EDIT]Coloquei o terceiro argumento conforme a dica do dsjbv.

D

Tenta assim:
JOptionPane.showMessageDialog( null, "The sim is: " + sum + “Sum of Two Integers”, “Resultado”, JOptionPane.PLAIN_MESAGE );

Tirei as aspas de JOptionPane.PLAIN_MESAGE, e inclui o title “Resultado”

J

O Método “showMessageDialog” do Objeto “JOptionPane” possui apenas 3 assinaturas de métodos:

  • (Component, Object);
  • (Component, Object, String, int);
  • (Component, Object, String, int, Icon).

Essa assinatura que você está usando segue o seguinte padrão:

  • (Componnent, Object, Object);

A maneira de faze-lo funcionar, é retirando a ultima string, ou inserindo um “int” como 4º parâmetro.

Eric_Yuzo

dsjbv:
Tenta assim:
JOptionPane.showMessageDialog( null, "The sim is: " + sum + “Sum of Two Integers”, “Resultado”, JOptionPane.PLAIN_MESAGE );

Tirei as aspas de JOptionPane.PLAIN_MESAGE, e inclui o title “Resultado”

Nem tinha percebido que faltava o título. :oops:

Só uma observação. O PLAIN_MESSAGE deve ser escrito com “SS”.

Valeu…

Criado 8 de setembro de 2010
Ultima resposta 8 de set. de 2010
Respostas 4
Participantes 4