Използването на DatePicker в потребителския интерфейс на вашето JavaFX приложение предлага удобен начин за избиране на стойности за дати. В това ръководство ще ви водя през имплементацията на DatePicker, който не само позволява избор на начална дата, но и показва броя на дните между две дати. Нека да започнем!
Най-важни открития
- Ще научите как се създава DatePicker в JavaFX.
- Ще се покаже как да добавите функционалност за Tooltip, която показва броя на дните между избраната дата и началната дата.
- Правилното използване на оформления и импорти ще бъде разгледано, за да се създаде подреден потребителски интерфейс.
Стъпка по стъпка ръководство
За да интегрирате DatePicker в приложението си на JavaFX, следвайте тези стъпки:
Започнете с изграждането на основна структура за вашия DatePicker. За тази цел създайте нов обект DatePicker. Можете например да работите с начална дата и крайна дата. Първо ще добавим DatePicker за началната дата.

Кодът за създаване на DatePicker изглежда по следния начин:
Тук вие импортирвате необходимия клас за DatePicker, за да сте сигурни, че всичко работи. Искаме също да добавим етикет, който да пояснява значението на този DatePicker.

Етикетът създавате по следния начин:
Сега да сложим всичко в GridPane, за да се покажат елементите подредено. GridPane е удобно оформление, което помага за подреждане на UI елементите в редове и колони.

Използвайте следния код, за да добавите елементите в GridPane и да определите тяхната позиция:
Сега, след като сме положили основите на нашия DatePicker, нека тестваме видимостта в потребителския интерфейс. Трябва да видите началната дата, която сега се показва във вашето приложение.
Ако искате да изберете конкретна дата, можете да го направите, като направите избор в DatePicker. За да покажем текущия ден, използваме LocalDate.now().

Кодът за изчисляване на текущата дата изглежда по следния начин:
Сега, когато имате работещ DatePicker, искаме да добавим функционалност за Tooltip. Това позволява показването на броя на дните между избраната дата и текущата дата, когато потребителят премине с мишката над датата.

Да добавим Callback за DateCells. Това се прави чрез метода setDayCellFactory(), което ви позволява да оформите поведението на всяка отделна клетка за дни.

Тук показваме броя на дните между текущо избраната дата и датата, над която потребителят минава, в Tooltip.
Сега е време да тестваме всичко. Когато преминете с мишката над различните дни, трябва да можете да видите броя на оставащите дни.

Ако всичко изглежда добре, можете да добавите по подобен начин още един DatePicker за крайна дата. Това може да бъде упражнение. Сега имате прост и ефективен начин за имплементиране на DatePicker в приложението си на JavaFX.

В следващото видео ви очакват вълнуващи теми, включително имплементиране на ColorPickers.
Резюме - JavaFX DatePicker - Стъпка по стъпка ръководство за избор на дата
В това ръководство научихте как да имплементирате DatePicker в JavaFX и да го разширите с функционалност за Tooltip. Това значително подобрява потребителското изживяване, предоставяйки допълнителна информация, когато е необходимо.
Често задавани въпроси
Какво е DatePicker в JavaFX?DatePicker е UI елемент в JavaFX, който позволява на потребителите да избират стойности за дати.
Как да добавя Tooltip за DatePicker?Tooltip може да бъде добавен, като се използва методът setDayCellFactory() и се създаде Callback.
Как мога да задам текущата дата в DatePicker?Можете да използвате startDatePicker.setValue(LocalDate.now()), за да зададете текущата дата.
Мога ли да използвам множество DatePicker в едно приложение?Да, можете да добавите толкова много DatePicker, колкото ви е необходимо, като на всеки зададете собствен обект.
Има ли начин да се изчисли броят на дните между две дати?Да, можете да използвате ChronoUnit.DAYS.between(startDate, endDate), за да изчислите броя на дните между две стойности на дати.