JavaFX 2.0 основы.

12-10-29 JavaFX Java, JavaFX 5

Здравствуйте, уважаемые читатели Easy-Code.ru. В данной рубрике мы будем говорить об очень интересной платформе для создания клиентских приложений  Rich Internet Applications (RIAs), т.е. приложения, доступные через интернет (на подобии Flash), и обладающие богатой функциональностью, как настольные приложения.

Главное преимущество таких приложений в том, что основные вычисления происходят на стороне клиента, снижая тем самым нагрузку на сервер. Такие приложения более интерактивны и не требуют постоянной связи с сервером.

Hello, World! JavaFX

Лучший способ изучить и понять какой-либо язык — рассмотреть пример (хотя JavaFX — это уже не отдельный язык, а набор библиотек для Java). Поэтому создадим приложение JavaFX. Нам понадобятся, сама JavaFX 2.0 и Netbeans.

  • В меню File выберите New Project.
  • В категории JavaFX выберите JavaFX Application, далее
  • Назовите проект HelloWorld, Готово.

Netbeans создаст проект и файл HelloWorld.java, который будет содержать простую JavaFX программу.

package helloworld;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloWorld extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Hello World!");
        Button btn = new Button();
        btn.setText("Say 'Hello World'");
        btn.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                System.out.println("Hello World!");
            }
        });

        StackPane root = new StackPane();
        root.getChildren().add(btn);
        primaryStage.setScene(new Scene(root, 300, 250));
        primaryStage.show();
    }
}

Рассмотрим основные компоненты структуры JavaFX приложения.

  • Главный класс JavaFX приложения унаследован от javafx.application.Application. Метод start() — главный метод приложения, в отличие от обычного Java приложения, где главный — main().
  • В JavaFX приложении присутствуют два главных компонента stage и scene. В примере мы создаем сцену с определенными размерами и делаем ее видимой.
  • Программа JavaFX имеет иерархическую структуру в виде дерева, где узлы — элементы программы (кнопка, текст и т.д.). В нашем случае корневой узел — объект StackPane — слой с изменяемым размером, это означает, что размер окна программы можно будет изменять.
  • Наш корневой узел содержит одного потомка — кнопку с обработчиком нажатия (для вывода сообщения в консоль).
Иерархия JavaFX
Структура JavaFX приложения

Запуск приложения

Запустите программу и нажмите на кнопку, в окне вывода Netbeans программа выведет «Hello World!».

JavaFX основы

В папке dist нашего проекта должны появиться файлы HelloWorld.html — страница со встроенным апплетом, HelloWorld.jnpl — нужен для запуска приложения в браузере через WebStart, HelloWorld.jar — Java архив и папка web-files содержит картинки, использованные в программе и JavaScript файл для загрузки апплета на страницу.

На этом все, в следующих уроках мы продолжим изучение JavaFX.

Хочешь получать статьи на почту?

Подпишись на обновления!
* Ваш email не будет разглашен/продан. Вы сможете отписаться в любое время.

5 Комментариев

  1. Андрей:

    Здравствуйте.

    Я правильно понимаю, что для запуска JavaFX приложения на клиентской машине заранее должен быть установлен JavaFX Runtime? И что он никогда не будет входить в JavaSE6, то есть клиент должен будет его доустанавливать самостоятельно?

    И да, продолжайте, пожалуйста 🙂 Русскоязычный учебник по актуальной JavaFX будет очень полезен.

    Спасибо

    1. root:

      Да, без установленного JavaFX, приложения работать не будут. JavaFX входит в состав Java SE 7, для 6 устанавливается отдельно.

  2. Арчи:

    Здравствуйте.
    Не могу создать сам проект. Установил плагин, но при создании проекта в разделе JavaFX нет пункта JavaFX Application. Есть только JavaFX Project. Выбираю его, ввожу имя проекта но кнопки next и finish не становятся активными и таким образом не получается создать проект. Что я не так делаю? Подскажите пожалуйста. Использую Java EE 7 последнюю Kepler.

  3. vadim:

    сказали же .. NetBeans запускать а не эклипс

  4. Владислав:

    JavaFX не зависит от IDE слава Богу = ))

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *