No dobra - dałem się namówić na tą javę
Mam teraz mały problem programowy. Chciałem stworzyć apikację w której użytkownik podawałby przedział czasu - datę początkową i datę końcową. Problem w tym że nie każdy miesiąc ma 31 dni. Jak zabezpieczyć się przed podaniem niepoprawnej daty przez użytkownika? (31 luty). Jak połączyć komponent Choice z klasą Date?
Dostępna klasa Date przechowuje również czas który z mojego punktu widzenia jest zbędny. Jak sformatować obiekt żeby przechowywał tylko dzień, miesiąc i rok?
Poniżej załączam to co udało mi się naskrobać.
import javax.swing.*;
import java.awt.*;
import java.util.*;
public class Menu {
/**
*
@Param args
*/
public static void main(String[] args) {
JFrame f = new JFrame("Oblicznie odsetek za zwłokę");
Container cp = f.getContentPane();
cp.setLayout(new FlowLayout());
JLabel napis1 = new JLabel("Data");
Choice dzienRozpoczecia = new Choice();
Choice miesiacRozpoczecia = new Choice();
Choice rokRozpoczecia = new Choice();
Choice dzienZakonczenia = new Choice();
Choice miesiacZakonczenia = new Choice();
Choice rokZakonczenia = new Choice();
for(int i=1;i<=31;i++){
dzienRozpoczecia.add(""+i);
dzienZakonczenia.add(""+i);
}
for(int i=1;i<=12;i++){
miesiacRozpoczecia.add(""+i);
miesiacZakonczenia.add(""+i);
}
for(int i=0;i<=12;i++){
rokRozpoczecia.add(""+(1993+i));
rokZakonczenia.add(""+(1993+i));
}
//Date data = new Date();
//data.setNumberFormat(MEDIUM);
//data.setNumberFormat(NumberFormat newNumberFormat);
//JLabel napis2 = new JLabel(data.toLocaleString());
cp.add(napis1);
//cp.add(napis2);
cp.add(dzienRozpoczecia);
cp.add(miesiacRozpoczecia);
cp.add(rokRozpoczecia);
cp.add(dzienZakonczenia);
cp.add(miesiacZakonczenia);
cp.add(rokZakonczenia);
f.pack();
f.show();
}
}