문제

dd/MM/yyyy 형식의 날짜를 사용하기 위해 JFormattedTextField를 만드는 데 문제가 있었습니다.특히 사용자가 입력할 때 커서는 슬래시를 "점프"하고 다음 숫자 위치로 직접 이동해야 합니다.

또한 JFormattedTextField는 입력된 날짜가 유효한지 확인하고 날짜가 유효하지 않은 경우 어떻게든 거부하거나 유효한 날짜로 "수정"해야 합니다. 예를 들어 사용자가 "13"을 월로 입력한 경우 "01"로 설정합니다. "를 입력하고 연도에 +1을 추가합니다.

날짜가 유효한지 확인하기 위해 JFormattedTextField의 verify() 메서드와 함께 마스크("##/##/####")를 사용해 보았지만 그 두 가지가 제대로 작동하지 않는 것 같습니다. Java에 대해 너무 미숙해서 방법을 알 수 없습니다...:) 그러면 사용자는 필드에 무엇이든 입력할 수 있습니다.

어떤 도움이라도 정말 감사하겠습니다!감사해요!

도움이 되었습니까?

해결책

일반 JTextField를 사용하고 사용자 정의 문서로 setDocument()를 호출해야 할 수도 있습니다.저는 PlainDocument를 확장하는 것을 권장합니다. 이렇게 하면 문서가 변경될 때 입력의 유효성을 쉽게 확인하고 적절하게 슬래시를 추가할 수 있습니다.

다른 팁

JCalendar를 사용해 보세요

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top