Изучение любого языка начинается с коронного и старинного “Hello World”. Думаю не стоит нам пренебрегать традициями и в изучении JavaFX.
Шаг 1
Для начала, просто создадим наш новый Java FX проект.
После создания вы увидите вот такую структуру:
Файл sample.fxml
и Controller
удаляем, сегодня с ними работать не будем. Заходим в Main и очищаем метод start()
. Будем писать с нуля.
Шаг 2
Наш код будет выглядеть таким образом:
package sample; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception{ primaryStage.setTitle("Hello World"); Button button = new Button("click me"); button.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent actionEvent) { System.out.println("Hello World!"); } }); StackPane pane = new StackPane(); pane.getChildren().add(button); primaryStage.setScene(new Scene(pane,300,300)); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
Шаг 3
Теперь о том, что нужно знать.
1. Главный класс наследуется от javafx.application.Application class. Метод start()
главная точка входа для всех Java FX приложений.
2. Stage – контейнер высшего уровня, Scene – контейнер для всего контента
3. Контент сцены представленный иерархией “узлов”
primaryStage.setTitle("Hello World");
– выставляем заголовок для нашего окна
Button button = new Button("click me");
– создание кнопки
Обратите внимание, что кнопка, это класс, который находится в этом пакете: import javafx.scene.control.Button;
Вешаем обработчик события на кнопку:
button.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent actionEvent) { System.out.println("Hello World!"); } });
StackPane pane = new StackPane();
– корневой узел. Он есть resizable layout. Что означает, что корневой размер узла отслеживает изменения размера окна пользователя.
pane.getChildren().add(button);
– добавляем на панель кнопку
primaryStage.setScene(new Scene(pane, 300,300));
– добавляем панель в сцену размерами 300 на 300 и присваиваем сцену нашему главному Stage
primaryStage.show();
– делаем главный Stage видимым.
Шаг 4
Вызываем запуск нашего “проекта”.
public static void main(String[] args) { launch(args); }
ПОХОЖИЕ ПУБЛИКАЦИИ
- None Found
4 комментариев к статье "JavaFX 2 Hello World"