Самостоятелни задачи
Използвайки FXML и научените Контейнери за изглед, изпълнете следните задачи.
Задача 1: Прозорец за вход в системата (Login Screen)
Създайте нов FXML файл (например login-view.fxml). Дизайнът трябва да изглежда така:
- В центъра на прозореца да има
GridPane(Мрежов контейнер). GridPane-ът да съдържа:Labelза “Потребителско име:” иTextFieldза въвеждане.Labelза “Парола:” иPasswordFieldза въвеждане.- Два
Button-а: “Вход” и “Отказ”.
- Бутоните да бъдат разположени хоризонтално (може в
HBox(Хоризонтална кутия) вътре вGridPaneили използвайкиGridPane.columnSpan). - Използвайте
paddingиspacingза по-добър вид. - Центрирайте
GridPaneв прозореца (може да използватеStackPane(Наслагващ контейнер) като корен на графичната сцена или настройки наGridPanealignment).
Задача 2: Приложение с лента с инструменти и множество секции
Създайте нов FXML файл (например multi-section-view.fxml). Дизайнът трябва да включва:
BorderPane(Контейнер с граници) като основен Контейнер за изглед.- Горен регион (
top):HBox(Хоризонтална кутия), съдържащ няколкоButton-а, които да имитират лента с инструменти (Toolbar) – например “Нов”, “Отвори”, “Запази”. - Ляв регион (
left):VBox(Вертикална кутия), съдържащ няколкоButton-а, които да представляват навигационни елементи. - Централен регион (
center):StackPane(Наслагващ контейнер), който да съдържа поне три различни графични елемента (може да са простоLabelвVBoxили по-сложни Контейнери за изглед катоGridPane,FlowPane,AnchorPaneот предходния пример), като всеки от тях имаvisible="false"по подразбиране. Целта е да покажете, чеStackPaneможе да държи различни изгледи. - Долен регион (
bottom)::HBox(Хоризонтална кутия) за статус бар. - Десен регион (
right):FlowPane(Поточен контейнер) с няколкоLabelилиTextFieldконтроли, които да показват “Свойства” или “Детайли”.
Задача 3: Форма за потребителски настройки (Settings Form)
Създайте нов FXML файл settings-view.fxml. Целта е да се упражнят контролите за избор.
-
Корен:
VBoxс центриране и разстояние (spacing) от15px. -
Елементи:
-
Labelсъс заглавие “Настройки на известяванията”. -
CheckBoxза “Известявания по имейл”. -
CheckBoxза “SMS известявания” (по подразбиране да е избран). -
Label“Тема на интерфейса:”. - Три
RadioButtonелемента: “Светла”, “Тъмна”, “Системна”.- Важно: Трите бутона трябва да са в една
ToggleGroup, за да може да се избира само един от тях.
- Важно: Трите бутона трябва да са в една
- Една
ToggleButtonконтрола с текст “Режим: Онлайн/Офлайн”.
-
Задача 4: Форма за обратна връзка (Feedback Form)
Създайте нов FXML файл feedback-view.fxml. Задачата се фокусира върху работа с дълъг текст и позициониране.
-
Корен:
AnchorPane. -
Елементи:
-
В горната част:
Label“Вашето мнение е важно за нас”. - В средата:
TextAreaза въвеждане на свободен текст.-
Използвайте
promptText="Напишете вашия коментар тук...". -
Настройте
wrapText="true", за да може текстът да се пренася автоматично. -
Закачете я (
AnchorPaneanchors) на50pxот всички страни, за да се разтяга с прозореца.
-
- В долната част:
HBox, който съдържаButton“Изпрати” иButton“Изчисти”, позиционирани в долния десен ъгъл чрез закачане.
-
Задача 5: Цялостен конфигуратор (Application Launcher)
Създайте FXML файл launcher-config-view.fxml, който комбинира всичко научено.
-
Корен: BorderPane.
- Център (center): GridPane със следните полета:
-
Ред 0:
Label“Име на приложение:” иTextField. -
Ред 1:
Label“Описание:” иTextArea(с височина за 3 реда). -
Ред 2:
Label“Режим на стартиране:” иHBox, съдържащ дваRadioButton(“Прозорец”, “Цял екран”). -
Ред 3:
Label“Опции:” иVBoxс дваCheckBox(“Автоматично обновяване”, “Стартиране със системата”).
-
- Долу (bottom):
HBoxс бутон “Запази промените”, който еdefaultButton="true"(да реагира на Enter).