pobranie daty i czasu od użytkownika

0

Cześć

Piszę program w Swingu.
Muszę wczytać od użytkownika datę(rok,miesiąc,dzień) i czas(godzina,minuta).
Chciałbym zabronić podawania błędnych dat, np 29 lutego może być tylko w lata przestępne.

Czy da się to zrobić prościej niż za pomocą 5 jSpinnerów?(które dodatkowo muszą być od siebie zależne, np. jeżeli użytkownik ustawi dzień na 30, a później miesiąc na luty, to dzień powinien się automatycznie zmienić na 28 lutego)

Czy można jakoś wykorzystać jFormattedTextField?

Muszę pisać w javie 5, nie mogę też korzystać z dodatkowych komponentów(nawet darmowych).

0

gewałt ;) Machnij własny komponent. Do walidacji użyj Calendar lub GregorianCalendar. Odradzam Date, bo przekręca licznik np. 32stycznia 2000 zamieni się na 1 luty 2000.
Swoją drogą napiszesz raz komponent zapakujesz w oddzielnego jara i wrzucisz sobie do jakiegoś repozytorium. W rzyszłosci pewno się przyda :) wbrew pozorom to nie zajmie dużo czasu :)

0

Dzięki.
Właśnie znalazłem sposób, jak to zrobić za pomocą standardowych komponentów.

Tak z grubsza:

SpinnerDateModel model2 = new SpinnerDateModel();
JSpinner spinner2 = new JSpinner(model2);
JSpinner.DateEditor editor2 = new JSpinner.DateEditor(spinner2, "MMMMM dd, yyyy");
spinner2.setEditor(editor2);

0

Hm... zapomniałem o tym, ale generalnie mało w Swingu tworzę. Teraz to tylko zamknąć w jakąś ładną otoczkę która by to wszystko generowała w jednej linijce :)

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