Data i jej walidacja

0

Znalazłem funkceje ktora powinna walidowac date

public void sprdata(){
	String date1 = datadost2.getText();
	try {
        // Some examples
        DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
        Date date = (Date)formatter.parse(date1);
        Uwagi2.setText("all ok");
      } catch (ParseException e) {
    	Uwagi2.setText("Zla data dostawy");
    }
}

i niby jest ok bo do czasu kiedy nie wpisze poprawnej daty to w polu Uwagi2 dostaje komunikat o złej dacie kłopot w tym że jak wpisze poprawna eclipse w konsoli wyrzuca mi

Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.util.Date
	at RamkaDodajRysuj.sprdata(RamkaDodajRysuj.java:165)
	at RamkaDodajRysuj$1.keyReleased(RamkaDodajRysuj.java:108)
	at java.awt.AWTEventMulticaster.keyReleased(Unknown Source)
	at java.awt.Component.processKeyEvent(Unknown Source)
	at javax.swing.JComponent.processKeyEvent(Unknown Source)

jak sie pozbyc tego problemu?

0

Nie wykonuj rzutowania. Metoda parse zwraca obiekt klasy Date.
Date date = formatter.parse(date1);

0

a dokonałeś wszystkich importów prawidłowo? :|

specjalnie wykonałem sobie taki applecik validujący datę i teraz nie wiem. u mnie działa prawidłowo. poniżej masz wszystkie importy jakie są potrzebne


import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;

0
jmail napisał(a)

a dokonałeś wszystkich importów prawidłowo?

Kolega Origin pokazuje wyjątek wyrzucony podczas działania programu, a nie kompilacji. Wniosek - program posiada wszystkie importy.

0
Luuki napisał(a)
jmail napisał(a)

a dokonałeś wszystkich importów prawidłowo?

Kolega Origin pokazuje wyjątek wyrzucony podczas działania programu, a nie kompilacji. Wniosek - program posiada wszystkie importy.

Bledny wniosek - np. klasa Date istnieje rowniez w pakiecie java.sql.

pozdrawiam
johny

0

Luuki -> w nawiązaniu do wypowiedzi Johny'ego zwracam Twoją uwagę że napisałem czy prawidłowo został import wykonany a nie czy w ogóle został wykonany.

jeszcze pytanie. z jakiego komponentu ten text pobierasz?

0
johny_bravo napisał(a)
Luuki napisał(a)
jmail napisał(a)

a dokonałeś wszystkich importów prawidłowo?

Kolega Origin pokazuje wyjątek wyrzucony podczas działania programu, a nie kompilacji. Wniosek - program posiada wszystkie importy.

Bledny wniosek - np. klasa Date istnieje rowniez w pakiecie java.sql.

Faktycznie. Nie pomyślałem o tym. Przepraszam za błędny wniosek.

0

Dzieki chodziło o błedny imprt

0

Niestety nie waliduje to daty tak jakbym tego oczekiwał tzn po wprowadzeniu 7 cyfry stwierdza ze jest ok

Macie jakieś inne pomysły jak wlaidowac date pobierana z JTextField ?

0

a może byś spróbował jFormattedTextField? Tu masz linkę http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFormattedTextField.html pierwszy przykład robi praktycznie wszystko.

0

Ewentualnie możesz użyć komponentu przeznaczonego do wprowadzania daty rozpowszechnianego na otwartej licencji. http://www.toedter.com/en/jcalendar

0
Luuki napisał(a)

Ewentualnie możesz użyć komponentu przeznaczonego do wprowadzania daty rozpowszechnianego na otwartej licencji. http://www.toedter.com/en/jcalendar

...a propoS - jak tego użyć? szukam i czytam i nie kumam :(

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