Статьи

Свободная кнопка стиля дизайна, кнопка переключения и всплывающая подсказка для Java, JavaFX

Привет еще раз!

В эти выходные в свободное время я продолжил работу над JMetro. Конечный результат — новый стиль темных и светлых кнопок и кнопок ToggleButton. Эти новые стили включают новую анимацию при нажатии кнопки. Которые можно включать и выключать через CSS.

Наконец я быстро подправил стиль подсказки.

Это увеличивает номер версии JMetro до 4.4.

JMetro версия 4.4

Иногда я впечатлен тем, чего я могу достичь, всего за несколько часов работы в JavaFX. Я стараюсь быть настолько честным, насколько это возможно, и уверен, что я предвзят, потому что я работаю с ним, так как это рано. Поскольку JavaFX все еще был бета-версией (до версии 1). Был свой собственный язык сценариев ( сценарий JavaFX ). Вам пришлось возвращаться к хаки для взаимодействия с Java, языком (?!). И это заставило замолчать NPE (?!?!).

Впечатляет, что всего несколько часов моего свободного времени каждые выходные в течение последних нескольких недель я почти закончил с этой новой итерацией JMetro. Который включал в себя изменение стиля практически всех элементов управления JavaFX (новые анимации, новые цвета, новые общие стили). Включая некоторые, которые не существуют в платформе JavaFX. И все это в два раза, поскольку JMetro включает в себя светлую и темную версию. Не говоря уже о разработке (дизайн кода / API, а также визуальный дизайн и UX), тестировании и настройке, пока я не подумал, что это достаточно хорошо. Лично я впечатлен тем, как много я достиг за это время.

Я не пытаюсь продавать какие-либо конкретные технологии. Потому что, как я слышал раньше, Кирилл Гручников (в настоящее время работает в Google), бывший инженер-программист, который писал в блоге о Swing: «Клиенту нет дела до технологии». Заказчик не заботится о технологии, которая была использована. Клиент заботится, хорошо ли работает продукт или нет.

Я не против работать с другими технологиями. Фактически, в недавнем прошлом я работал над веб-разработкой, используя javascript, html и т. Д. Я всегда стараюсь выбрать лучший инструмент для работы, за исключением увлечений (конечно, опыт работы с инструментарием также имеет значение).

В этом блоге я стараюсь быть максимально честным и непредвзятым. Не пытаясь продать читателям какую-то конкретную технологию. Прямо сейчас я не связан ни с Oracle, ни с какой-либо другой компанией, которая продает продукты JavaFX или консультирование по JavaFX. У меня нет никаких вложений в JavaFX, кроме того факта, что я использую его очень долго. Обычно я сначала называю себя консультантом и фрилансером JavaFX, только потому, что у меня больше всего опыта. Возможно, существуют и другие технологии, такие же производительные, как JavaFX (я не знаю их всех, достаточно подробно, очевидно). Тем не менее, я думаю, что это довольно впечатляюще, чего вы можете достичь всего за несколько часов работы.

Кнопка и ToggleButton новый стиль

Мне потребовалось всего пару часов, чтобы полностью перестроить стиль кнопки с новой анимацией при нажатии. И новое свойство CSS для включения / выключения этой анимации.

Сначала старый светлый и темный стиль кнопки:

Кнопка - JMetro OLD светлая тема

Кнопка — JMetro OLD светлая тема

Кнопка - JMetro СТАРАЯ темная тема

Кнопка — JMetro СТАРАЯ темная тема

«По умолчанию», который вы видите выше, представляет стиль кнопки, когда она установлена ​​по умолчанию. Проверьте спецификацию API для получения дополнительной информации.

Новый стиль выглядит следующим образом:

Кнопка - JMetro NEW светлая тема

Кнопка — JMetro NEW светлая тема

Кнопка - JMetro NEW темная тема

Кнопка — JMetro NEW темная тема

Цвета для нажатия, наведения и т. Д. И соответствующие эффекты изменились. Также была добавлена ​​новая анимация, которая происходит при нажатии кнопки. Кнопка сжимается при нажатии, а затем постепенно возвращается к нормальному размеру. Вы можете включить или отключить эту анимацию с помощью -shrink-animate-on-press CSS -shrink-animate-on-press . По умолчанию он включен в таблице стилей JMetro:

.button, .toggle-button {
    -shrink-animate-on-press: true;
}

Стиль кнопки переключения в значительной степени основан на кнопке. Вот старый стиль:

Кнопка переключения - светлая тема JMetro

Кнопка переключения — светлая тема JMetro

Кнопка Toggle - JMetro OLD темная тема

Кнопка Toggle — JMetro OLD темная тема

Новый стиль Toggle Button теперь выглядит следующим образом:

Кнопка переключения - светлая тема JMetro NEW

Кнопка переключения — светлая тема JMetro NEW

Кнопка Toggle - JMetro NEW темная тема

Кнопка Toggle — JMetro NEW темная тема

Подсказка новый стиль

Последнее дополнение к JMetro версии 4.4 — новый стиль для всплывающей подсказки. Это была быстрая настройка старого стиля. И светлые, и темные версии выглядят одинаково:

Подсказка - новая тема JMetro

Подсказка — тема JMetro OLD

Подсказка - новая тема JMetro

Подсказка — новая тема JMetro

Цвета были слегка подправлены, а шрифт стал больше.

Вывод

В этом посте я высказал свое мнение о том, насколько продуктивной может быть JavaFX. Особенно в случае этой новой итерации JMetro, которая была начата всего несколько недель назад.

Затем я упомянул, что нового в версии JMetro 4.4. Это включает в себя новый стиль темных и светлых кнопок и ToggleButton с добавленными CSS-анимациями. И новый улучшенный стиль подсказок.

Вот что я буду обновлять дальше:

  • Стиль текстового поля;
  • Стиль поля пароля;
  • Прогресс Бар стиль;
  • Продолжить работу, чтобы облегчить разработчикам настройку цветов JMetro в будущем;
  • Где-то в будущем, возможно, около версии 5, я буду работать над тем, чтобы сделать JMetro также доступным через Maven Central. У этого проекта есть некоторые особенности, которые не делают его таким простым, как могло бы быть.

Документация для JMetro находится на странице JMetro темы JavaFX . Это еще не было обновлено, с этой последней версией дополнений.

Как обычно, следуйте за мной в твиттере .

Опубликовано на Java Code Geeks с разрешения Педро Дуке Виейры, партнера нашей программы JCG . См. Оригинальную статью здесь: Свободная кнопка стиля дизайна, кнопка переключения и всплывающая подсказка для Java, JavaFX

Мнения, высказанные участниками Java Code Geeks, являются их собственными.