2017-02-10 11 views
0

私はプログラミングの初心者です。計算式の日付を使って何かを計算する簡単なプログラムを持っています。最初の日付を入力するための、およびJTextField endDate - - 2番目の日付のユーザーが数値を入力しているときにJTextFieldに日付を表​​示する(Java)

JTextField startDate

だから、私は2つのフィールドを持っています。

ユーザーがフィールドに値を入力すると、私はgetText()を使用しており、DATE.parse("value from getText()")を使用してこれらの値をSimpleDateFormat DATE = new SimpleDateFormat("ddMMyyyy")に変換します。その後、新しいDateの値を使用して、必要な値を設定できます。

私は何をしたいのですか。日付入力は次のようになります。

enter image description here

しかし が視覚的にそれは私のために良いではありません。私はある種の「自動日付入力」をしたい。たとえば、ユーザーは「09052017」と入力しますが、JTextFieldには「09.05.2017」が表示されます。ユーザーは「09」と入力するだけですが、フィールドには「09」、次に「0905」が表示されますが、 「09.05」を持っています。だから、ユーザーが09052017に入るが、私たちが見分野で:

enter image description here

それを実現するためにどのように?

+1

1つの解決策http://docs.oracle.com/javase/tutorial/uiswing/components/formattedtextfield.html – RubioRic

答えて

2

JCalendarを使用してください。それはあなたのGUIで開き、ユーザーが希望の日付を選択することができる小さなカレンダーのようなものです。

JCalendarを使用するには、上記のリンクにある.jarファイルをプロジェクトにインポートする必要があります。

JCalendarは

enter image description here

のように見えますまた、あなたが好きに日付の書式を変更することができます。

0

SimpleDateFormatを使用して日付を書式設定することができます。日付パラメータにはワイルドカードを使用し、スラッシュやドットなどの区切り文字を追加できます。

String pattern = "MM.dd.yyyy"; 
SimpleDateFormat sdf = new SimpleDateFormat (pattern); 
String t = sdf.format (new Date()); 
関連する問題