Какие хорошие графические виджеты Java для выбора даты?
Каковы хорошие компоненты Java Swing date-chooser? Пока я только нашел эти 2:
-
JCalendar
- это очень хорошо, поскольку он использует основной внешний вид.
-
JXMonthView
в проекте SwingX - не так хорошо, как он использует свой внешний вид
Оба они выглядят немного неуклюжими по сравнению с теми, что я видел на веб-страницах. Например, было бы неплохо увидеть несколько месяцев одновременно. Кто-нибудь знает о других хороших виджетах?
Ответы
Ответ 1
Недавно я нашел и использовал Microba DatePicker (http://microba.sourceforge.net/) для личного проекта с участием Swing GUI, и я действительно очень понравился как это реализовано. Кроме того, лицензия является BSD, поэтому вы сможете настроить элемент управления и использовать его в коммерческих целях, если вам нужно это сделать.
Ответ 2
Я часто опаздываю, но лучшее, что я видел, это: JDatePicker
(Что меня удивило: начало недели с воскресенья - как и многие календари, и, кстати, воскресенье - день 0 на Java, но вы можете отредактировать исходный код и перекомпилировать, чтобы начать с понедельника вместо;-))
Ответ 3
Существует также NachoCalendar.
Ответ 4
Я попробовал большую часть сборщиков дат.
Я бы предложил LGoodDatePicker.
https://github.com/LGoodDatePicker/LGoodDatePicker
Справедливое раскрытие: я являюсь основным разработчиком.
Вот общий список функций (в соответствии с Github):
- Автоматическая интернационализация.
- Использует (новый) стандартный пакет времени Java 8. Также называется "java.time" или "JSR-310".
- Автоматическая проверка дат.
- Шрифты и цвета могут быть изменены.
- Дополнительные политики выделения и политики вето.
- Относительно компактный исходный код (3 основных класса).
- Для создания DatePicker требуется только одна строка кода.
- Демо-программа и образцы кода включены.
- Хорошие Javadocs.
- Лицензия с открытым исходным кодом.
Скриншоты ниже:
![LGoodDatePicker Screenshots]()
Ответ 5
Теперь вы можете получить теперь свободный выбор даты и календаря здесь.
Ответ 6
jDateChooser, который поставляется с jCalendar, является лучшим компонентом для даты:
Ниже приведен способ получения даты с даты выбора:
//dat is name given to datepicker component
int day=dat.getJCalendar().getDayChooser().getDay();
int month=dat.getJCalendar().getMonthChooser().getMonth();
int year=dat.getJCalendar().getYearChooser().getYear();
String dateNow=year+"/"+month+"/"+day;
System.out.println(dateNow);
//***************************************************
//For setting date of date picker:
dat.setDateFormatString("dd-MM-yyyy");
Calendar currentDate = Calendar.getInstance();
dat.setDate(currentDate.getTime());