2008-09-17 32 views
1

我一直有麻煩讓JFormattedTextField使用格式爲dd/MM/yyyy的日期。具體而言,當用戶輸入時,光標應該「跳過」斜槓,並直接進入下一個數字位置。用於打字日期的Java JFormattedTextField

此外,JFormattedTextField必須驗證輸入的日期是否有效,並且如果日期無效,或者將其「更正」爲有效日期(例如,如果用戶輸入「13」作爲月,設置它作爲「01」並在今年增加+1。

我嘗試使用帶有JFormattedTextField的validate()方法的掩碼(「##/##/####」)來檢查日期是否有效,但看起來這兩個不起作用在一起(或者我對Java太綠以知道如何... :),然後用戶可以在該字段上鍵入任何內容。

任何幫助真的很感激!謝謝!使用JCalendar

回答

1

嘗試你可能必須使用一個普通的JTextField並調用setDocument()的自定義文檔。我建議擴展PlainDocument,這使得在文檔更改時驗證輸入變得容易,並根據需要添加斜線。