I have used several date choosers, and I would recommend LGoodDatePicker.
Other common libraries are: JXDatePicker, Microba DatePicker, JDatePicker, and JCalendar.
Fair disclosure: I'm the primary LGoodDatePicker developer.
LGoodDatePicker general features list:
(Copied from the project page)
- The components are the DatePicker, TimePicker, DateTimePicker, and CalendarPanel.
- Automatic localization (internationalization), to 22 languages.
(Arabic, Chinese, Czech, Danish, Dutch, English, French, German, Greek, Hindi, Italian, Indonesian, Japanese, Korean, Polish, Portuguese, Romanian, Russian, Spanish, Swedish, Turkish, Vietnamese.)
- Natively uses the standard Java 8 time package (aka java.time.LocalDate or "JSR-310").
- Also supports other data types, such as "java.util.Date".
- Customizable visual elements. (Including calendar size, fonts, colors, and the popup border.)
- The TimePicker GUI provides a time selection list and (optional) spinner buttons.
- Automatic date/time validation on all components.
- Optional highlight policies and veto policies.
- Can allow or disallow empty values. (Null dates or times.)
- Simple usage. Creating a picker requires only one line of code.
- Includes the Demo Program, and code examples.
- Complete Javadoc documentation.
- Active developer support.
- Open source MIT license.
I pasted screenshots of the components (and the demo program) below.
The library can be installed into your Java project from the project release page.
The project home page is on Github at:
https://github.com/LGoodDatePicker/LGoodDatePicker .


