Графический интерфейс с использованием JavaFX
НАВИГАЦИЯ ПО СТРАНИЦЕ
JavaFX — это современный фреймворк для создания графических интерфейсов в Java. Давайте рассмотрим основные шаги создания простого графического приложения с использованием JavaFX.
Шаг 1: Настройка проекта
Убедитесь, что у вас есть установленная библиотека JavaFX и настроенный проект, чтобы использовать ее. В современных интегрированных средах разработки (IDE), таких как IntelliJ IDEA или Eclipse, этот процесс обычно автоматизирован.
Шаг 2: Создание основного класса
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class SimpleJavaFXApp extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Простое JavaFX Приложение");
Button btn = new Button();
btn.setText("Нажми меня");
// Обработка события при нажатии кнопки
btn.setOnAction(event -> System.out.println("Привет, JavaFX!"));
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}
Шаг 3: Запуск приложения
Чтобы запустить JavaFX приложение, необходимо вызвать метод launch в методе main. IDE обычно предоставляют удобные средства для запуска JavaFX приложений.
public class Main {
public static void main(String[] args) {
SimpleJavaFXApp.launch(SimpleJavaFXApp.class, args);
}
}
Шаг 4: Добавление элементов управления
JavaFX предоставляет множество элементов управления, таких как текстовые поля, метки, таблицы и многое другое. Пример добавления текстового поля и метки:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class JavaFXWithControls extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("JavaFX с элементами управления");
TextField textField = new TextField();
Label label = new Label("Введите текст:");
// Обработка события изменения текста в поле
textField.textProperty().addListener((observable, oldValue, newValue) ->
label.setText("Введенный текст: " + newValue));
VBox vbox = new VBox(label, textField);
primaryStage.setScene(new Scene(vbox, 300, 200));
primaryStage.show();
}
}
Шаг 5: Стилизация с использованием CSS
JavaFX также поддерживает стилизацию с использованием CSS. Создайте файл style.css:
.label {
-fx-font-size: 14pt;
-fx-text-fill: blue;
}
.text-field {
-fx-background-color: #f0f0f0;
-fx-font-size: 12pt;
}
Затем примените стили в коде:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class JavaFXWithCSS extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("JavaFX со стилями CSS");
TextField textField = new TextField();
Label label = new Label("Введите текст:");
// Обработка события изменения текста в поле
textField.textProperty().addListener((observable, oldValue, newValue) ->
label.setText("Введенный текст: " + newValue));
VBox vbox = new VBox(label, textField);
vbox.getStyleClass().add("custom-vbox"); // Применение пользовательского класса стиля
Scene scene = new Scene(vbox, 300, 200);
scene.getStylesheets().add(getClass().getResource("styles.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
}
}
Эти шаги предоставляют основы создания графического интерфейса с использованием JavaFX. Разработка более сложных приложений может включать в себя использование FXML для разметки интерфейса и более сложной логики.