Самостоятелни задачи

Използвайки FXML и научените Контейнери за изглед, изпълнете следните задачи.

Задача 1: Прозорец за вход в системата (Login Screen)

Създайте нов FXML файл (например login-view.fxml). Дизайнът трябва да изглежда така:

  • В центъра на прозореца да има GridPane (Мрежов контейнер).
  • GridPane-ът да съдържа:
    • Label за “Потребителско име:” и TextField за въвеждане.
    • Label за “Парола:” и PasswordField за въвеждане.
    • Два Button-а: “Вход” и “Отказ”.
  • Бутоните да бъдат разположени хоризонтално (може в HBox (Хоризонтална кутия) вътре в GridPane или използвайки GridPane.columnSpan).
  • Използвайте padding и spacing за по-добър вид.
  • Центрирайте GridPane в прозореца (може да използвате StackPane (Наслагващ контейнер) като корен на графичната сцена или настройки на GridPane alignment).

Задача 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", за да може текстът да се пренася автоматично.

      • Закачете я (AnchorPane anchors) на 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).

This site uses Just the Docs, a documentation theme for Jekyll.