2015-01-25 1 views
0

Я делаю программу JavaFX, для которой я хотел бы использовать новый Time API. Я хотел использовать LocalDatePicker, предоставленный в библиотеке JFXtras, который позволит пользователям выбирать несколько локальных объектов и оптимизировать обработку программы для выбранных объектов (в отличие от аналогичного CalendarPicker в той же библиотеке, которая использует более старый API дат).Как я могу исправить несколько режимов выбора в LocalDatePicker в JFXtras? (он работает в CalendarPicker в том же пакете)

Я импортировал пользовательские элементы управления JFXtras в конструктор сцен JavaFX, и, хотя режим выбора «множественный» очень хорошо работает для элемента управления JFXtras CalendarPicker, такая же функциональность кажется нарушенной в элементе управления LocalDatePicker.

Выбор нескольких/диапазонов не работает ни в функции предварительного просмотра создателя сцены, ни в компилированном файле FXML/controller, созданном в Netbeans, а когда он просто добавлен в сцену JavaFX, тогда как во всех этих случаях элемент управления CalendarPicker работает , что заставляет меня думать, что это проблема с самим контролем, а не с моей реализацией. Я проверил соответствующие классы в библиотеке, и режим обработки кодаProperty кажется идентичным.

Thing is, программа-образец, включающая все элементы управления на странице JFXtras (http://jfxtras.org/resources/java/jfxtras-labs-samples-8.0-r4-SNAPSHOT-shadow.jar), имеет множественный выбор для управления LocalDatePicker.

Что я делаю неправильно?

Извините, если это легко исправить, я довольно новыми для Java (и JavaFX)

Благодаря

+0

LocalDatePicker использует CalendarPicker внутренне; элемент управления LocalDatePicker имеет API, который предоставляет те же свойства, что и CalendarPicker, только с использованием типов времени Java 8. Кожа LocalDatePicker создает CalendarPicker и использует код map/glue для преобразования из Calendar в LocalDate и обратно. Если вы сравниваете классы тестов, которые гарантируют, что элементы управления будут работать так, как должны (https://github.com/JFXtras/jfxtras/blob/8.0/jfxtras-controls/src/test/java/jfxtras/scene/control/test /), вы обнаружите, что они запускают практически идентичные сценарии, включая многократный и диапазон. – tbeernot

+0

Суть в том, что я очень сомневаюсь в том, что элемент управления является причиной проблемы, зная, что SceneBuilder имеет множество настраиваемых кодов для управления элементами управления. Но я загляну и посмотрю, смогу ли я найти что-то не так. – tbeernot

+0

Если я создаю новый файл builder 2.0 -> import "jfxtras-common-8.0-r3.jar" -> добавить панель -> добавить LocalDatePicker: та же проблема. Это правильный импорт? – Rayman

ответ

0

О да. Это была моя ошибка. Несмотря на наличие кода для синхронизации значения режима между LocalDatePicker и CalendarPicker, я забыл установить начальное значение. В тестах значение устанавливается после того, как элемент управления виден, а затем выдается код синхронизации. Попробуйте 8.0-r4-SNAPSHOT. Спасибо за сообщение.