obsługa błędu dla parsowania daty

0

Witam,

mam taki kod:

		DateFormat dfm = new SimpleDateFormat("dd MMM yyyy"); //yyyy-MM-dd
		try
		{ this.birth = dfm.parse("2 FEB 1978"); }
		catch (Exception e)
		{
			JOptionPane.showMessageDialog(this,
					"Błąd parsowania daty w Person.java: " + birth,
					"MessageBox Title",
					JOptionPane.INFORMATION_MESSAGE,
					Icon);			
		}

oraz błąd dla linijki "Icon":

Multiple markers at this line

  • Icon cannot be resolved to a variable
  • Icon cannot be resolved to a variable

W jaki sposób mogę poprawić ten kod?

=================================================
szczegóły

Mam tylko takie include'y:

import java.awt.*;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import javax.swing.JOptionPane;

Próbowałem jako ostatni argument podać:

null
"OptionPane.warningIcon"
OK_OPTION

ale żadna z tych trzech opcji nie działa.

Dodałem również

import javax.swing.UIManager; //icons?

ponieważ tam się znajduje "OptionPane.warningIcon"

Chcę po prostu wyświetlić Message Boxa z domyślną ikonką. Nigdzie nie tworzyłem własnego obiektu icon.

Dla parametru null:

Description Resource Path Location Type
The method showMessageDialog(Component, Object, String, int, Icon) in the type JOptionPane is not applicable for the arguments (Person, String, String, int, null) Person.java /Test1/src line 34 Java Problem

Pozdrawiam!

1
//custom title, error icon
JOptionPane.showMessageDialog(frame,
    "message.",
    "title",
    JOptionPane.ERROR_MESSAGE); 

Więcej szczegółow: http://download.oracle.com/javase/tutorial/uiswing/components/dialog.html

0

Dzięki za odpowiedź!

Z tego linka, który podałeś, korzystałem wcześniej.

Po dodaniu Twojego kodu pojawia mi się błąd:

Description Resource Path Location Type
frame cannot be resolved to a variable Person.java /Test1/src line 37 Java Problem

Przede wszystkim mnie zastanawia jednak, dlaczego tej daty sparsować nie jest w stanie.

Pozdrawiam!

1

Istnieje w Polsce miesiąc, którego nazwa zaczyna się od "FEB"? Zmień FEB na STY, albo zmień Locale na amerykańskie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1