JEP 205: New Controls for JavaFX
Новые элементы управления для JavaFX
| Автор | Stephen Northover |
| Ответственный | Steve Northover |
| Тип | Feature |
| Область | JDK |
| Статус | Closed / Delivered |
| Выпуск | 8u40 |
| Компонент | client-libs |
| Обсуждение | openjfx dash dev at openjdk dot java dot net |
| Трудоёмкость | M |
| Длительность | M |
| Связан с | JEP 209: JavaFX Scene Builder Update |
| Рецензенты | Kevin Rushforth |
| Одобрен | Richard Bair |
| Создан | 2014/05/16 19:48 |
| Обновлён | 2015/03/03 04:22 |
| Задача | 8043350 |
Аннотация
Добавить в JavaFX элемент управления «счётчик» (spinner), элемент управления для форматированного текста и стандартный набор диалоговых окон-предупреждений.
Мотивация
JavaFX должна быть полной и всеобъемлющей, иначе это мешает её распространению. Spinner — стандартный элемент пользовательского интерфейса, который встречается во многих приложениях. Бизнес-приложениям нужны элементы управления для форматированного текста, чтобы проверять вводимые данные. Большинству приложений время от времени нужно предупреждать пользователя или запрашивать подтверждение «ok/cancel». Чтобы быть полными и привлекательными, развитым приложениям с пользовательским интерфейсом нужна эта функциональность.
Описание
Новые элементы управления добавляются в JavaFX по стандартному шаблону реализации. Каждый элемент управления JavaFX состоит из самого элемента и предоставляемого им публичного API, класса поведения, который обрабатывает события ввода и отвечает за подобную функциональность, и класса оформления (skin) для итогового отображения. Класс оформления настраивается с помощью CSS, и для него определены стандартные CSS-классы, чтобы элементом управления можно было управлять из CSS-файла.
Spinner — хорошо известный элемент пользовательского интерфейса, который можно считать разновидностью комбинированного списка (combo box). С помощью spinner из списка значений можно выбрать одно значение. Значения часто выбираются с помощью стрелок вверх и вниз. Элементы spinner обычно отображают числовые значения и позволяют их изменять, но могут отображать и строки, которые часто представляют элементы перечисления.
Элемент управления для фильтруемого текста часто (но не обязательно) реализуется как подкласс однострочного текстового поля. Так он наследует возможности редактирования, а к ним добавляется API для ограничения и форматирования символов, которые можно отображать и вводить. Фильтруемый текст служит основой для сложного форматирования. Например, можно реализовать маски форматирования, такие как (###) ###-####, которые могут задавать номер телефона.
Стандартные диалоговые окна-предупреждения широко распространены в настольных приложениях и представляют собой хорошо понятный шаблон взаимодействия. Предупреждения сообщают пользователю, что что-то произошло. Обычно в них есть значок, который показывает серьёзность уведомления (то есть предупреждение, ошибка или информация). На одних платформах предупреждения реализованы как окна верхнего уровня, модальные по отношению к родительскому окну; на других они прикреплены к рамке родительского окна и выдвигаются при запросе.
Тестирование
В JavaFX есть стандартный набор модульных тестов для проверки элементов управления. Есть также полноценные примеры, такие как Ensemble, в которых приведён пример кода для каждого элемента управления. SceneBuilder — большое приложение на JavaFX, в котором программисты могут перетаскивать элементы управления с палитры. Описанные здесь элементы управления будут добавлены в существующие фреймворки и будут протестированы по стандартному процессу JavaFX SQE.