- •3.1 Лабораторна робота № 1. Створення JavaFx додатку. Авторизація користувачів.
- •Java Persistence api
- •3.1.1. Необхідне програмне забезпечення
- •3.1.2. Налаштування проекту JavaFx-додатку
- •3.1.3. Підключення бази даних
- •3.1.4. Створення моделей та їх маппінг за допомогою jpa
- •3.1.5. Створення допоміжного класу для роботи з моделями
- •3.1.6. Впровадження логіки авторизації користувача
- •3.2 Лабораторна робота № 2. Робота з медіа. Реалізація crud за допомогою jpa та TableView.
- •Медіа-програвач
- •Табличне представлення данних
- •3.2.1 Вдосконалення коду додатка
- •3.2.2 Створення інтерфейсу додатка
- •3.2.3 Створення медіа програвача
- •3.2.4 Впровадження можливості адміністрування користувачів
- •3.3 Лабораторна робота № 3. Використання вбудованого браузеру, будування графіків та створення анімації.
- •Акордеон
- •Анімація у JavaFx
- •Графіки
- •3.3.1 Інтегрування веб-браузеру до проекту
- •3.3.2 Створення графіків
- •3.3.3 Використання елементу акордіон для створення альтернативного варіанту панелі інструментів
- •3.3.4 Створення анімації кнопок
- •3.4 Лабораторна робота № 4. Технологія drag-and-drop у JavaFx-додатках. Використання стилів.
- •Drag-and-Drop
- •Стилювання додатку за допомогою css
- •3.4.1 Drag-and-Drop
- •3.4.2 Додавання можливості стилювання додатку
- •3.4.3 Створення стилів
- •3.5 Лабораторна робота № 5. Робота з JavaFx Scene Builder. 3-d трансформація у JavaFx. Розгортання додатку.
- •JavaFx Scene Builder
- •Трансформація у JavaFx
- •Розгортання JavaFx додатків
- •3.5.1 JavaFx Scene Builder
- •3.5.2 Створення логіки додатка
- •3.5.3 Розгортання додатка
3.4.3 Створення стилів
За допомогою стилів можна дуже швидко прикрасити додаток — змінити зовнішній вигляд елементів та їх колір. Дуже зручно використовувати базовий колір: можна зробити всі кольори додатку залежними від нього і змінивши значення цього кольору можна отримати зовсім інший вигляд додатку.
Створіть в директорії зі стилями новий файл style1.css і помістіть туди наступний код:
.root{
-fx-background-color: linear-gradient(to bottom, -fx-base, derive(-fx-base,30%));
-fx-base: rgb(50, 50, 50);
-fx-text-fill: white;
-fx-font-size: 14px;
-fx-font-weight: bold;
}
.label{
-fx-text-fill: white;
}
.button{
-fx-background-color: transparent;
-fx-border-color: white;
-fx-background-radius: 30;
-fx-border-radius: 30;
-fx-padding: 10 20 10 20;
}
.button:pressed{
-fx-background-color: white;
-fx-text-fill: black;
}
Отже, в цьому стилі використовується градієнт для фонового кольору і повністю змінюється вигляд кнопок. Тепер можна обрати новий стиль у елементі керування стилями і подивитись на результат (рис. 3.33):
Переглянувши зміни в усіх пунктах меню додатку можна побачити, що створені стилі не є досконалими, і іноді важко прочитати текст. Щоб при будь-яких значеннях -fx-base текст добре розрізнявся, потрібно використати в стилях функцію кольору — ladder. Ця функція інтерполює кольори при заданих умовах. Отже потрібно вдосконалити стилі наступним чином:
.root{
-fx-background-color: linear-gradient(to bottom, -fx-base, derive(-fx-base,30%));
-fx-base: rgb(50, 50, 50);
-fx-text-fill: ladder -fx-base stops (0.49, white) (0.5, black);
-fx-font-size: 14px;
-fx-font-weight: bold;
}
.label{
-fx-text-fill: ladder -fx-base stops (0.49, white) (0.5, black);
}
.button{
-fx-background-color: -fx-base;
-fx-border-color: white;
-fx-background-radius: 30;
-fx-border-radius: 30;
-fx-padding: 10 20 10 20;
}
.button:pressed{
-fx-background-color: white;
-fx-text-fill: black;
}
.axis {
-fx-tick-label-fill: ladder -fx-base stops (0.49, white) (0.5, black);
}
.chart-pie-label {
-fx-fill: ladder -fx-base stops (0.49, white) (0.5, black);
}
Якщо яскравість -fx-base буде більша за 0.5, то колір буде чорний, якщо менше, то білий. В цьому стилі також були внесені зміни до фону кнопки (змінений з прозорого на -fx-base) та було додано стилювання кольору написів графіків.
Рис. 3.33. Демонстрація створеного стилю додатку
Практичне завдання
Створити власний файл стилів і встановити його на вікно авторизації.
При повторному натисканні на кнопку в панелі інструментів очищувати робочу область.
Не обробляти перетягнутий за допомогою Drag-and-Drop файл, якщо він не є зображенням.
При створенні списку доступних зображень для заднього фону не обробляти файли, які не є зображенням.
Контрольні питання
Між якими середовищами може бути застосований Drag-and-Drop?
Які елементи можуть бути перенесені за допомогою Drag-and-Drop?
Які існують типи передачі даних у технології Drag-and-Drop?
Як називається файл зі стилями за замовченням? Де він знаходиться?
Які елементи підпорядковуються класу root?
