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

Най-важни открития

  • Ще научите как се създава DatePicker в JavaFX.
  • Ще се покаже как да добавите функционалност за Tooltip, която показва броя на дните между избраната дата и началната дата.
  • Правилното използване на оформления и импорти ще бъде разгледано, за да се създаде подреден потребителски интерфейс.

Стъпка по стъпка ръководство

За да интегрирате DatePicker в приложението си на JavaFX, следвайте тези стъпки:

Започнете с изграждането на основна структура за вашия DatePicker. За тази цел създайте нов обект DatePicker. Можете например да работите с начална дата и крайна дата. Първо ще добавим DatePicker за началната дата.

Имплементация на DatePicker в JavaFX

Кодът за създаване на DatePicker изглежда по следния начин:

DatePicker startDatePicker = new DatePicker();

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

Имплементация на DatePicker в JavaFX

Етикетът създавате по следния начин:

Label startLabel = new Label("Начална дата:");

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

Имплементиране на DatePicker в JavaFX

Използвайте следния код, за да добавите елементите в GridPane и да определите тяхната позиция:

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

Ако искате да изберете конкретна дата, можете да го направите, като направите избор в DatePicker. За да покажем текущия ден, използваме LocalDate.now().

Имплементация на DatePicker в JavaFX

Кодът за изчисляване на текущата дата изглежда по следния начин:

startDatePicker.setValue(LocalDate.now());

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

Имплементация на дата селектор в JavaFX

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

Имплементация на DatePicker в JavaFX

Тук показваме броя на дните между текущо избраната дата и датата, над която потребителят минава, в Tooltip.

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

Имплементация на DatePicker в JavaFX

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

Имплементация на 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), за да изчислите броя на дните между две стойности на дати.