Пример работы с IntelliJ IDEA и JavaFX


Работа с IntelliJ IDEA ненамного отличается от работы с другими распространенными IDE для Java. Давайте попробуем создать простой проект, пример в этой среде. Я буду использовать IntelliJ IDEA 2018.1.4 x64, но для других версий этой программы все будет аналогично.

Встречающее окно IntelliJ IDEA немного похоже на Unity 3D. Создаем новый проект:



По умолчанию у меня предлагается создать проект JavaFX, ну что ж, согласимся и заодно освежим свои знания по этому самому FX. После создания IDE приветливо нам показывает три файла: Main.java, Controller.java и sample.fxml – то есть у нас уже есть костяк приложения FX. Можно его сразу же и запустить:



Симпатичное белое окошко, не правда ли? Давайте его чем-нибудь наполним. Откроем sample.fxml в Scene Builder (у меня уже установлен, а вам, возможно, придется найти, скачать и поставить). И что мы видим при открытии? А ничего:



Почему так? У нас же запустилось окно с определенными размерами? Просто размеры этого окошка прописаны не в sample.fxml, а в Main.java в методе запуска:

public void start(Stage primaryStage) throws Exception{
    Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
    primaryStage.setTitle("Hello World");
    primaryStage.setScene(new Scene(root, 300, 275));
    primaryStage.show();
}
А панель, которая появилась, подстраивается под размер окна: USE_COMPUTED_SIZE. Давайте изменим размер панели, чтобы было удобнее работать и перенесем на форму кнопку, а также текстовое поле. Тут, если вы работали с визуальными редакторами, нет ничего сложного. Также для нашей кнопки пропишем обработчик, метод onClickMethod:



А в Controller.java добавим его код:

package sample;

import javafx.fxml.FXML;
import javafx.scene.control.TextField;

public class Controller {
    @FXML
    private TextField text1;

    @FXML
    public void onClickMethod(){
        String os =  System.getProperty("os.name");
        text1.setText(os);
    }
}
И теперь при нажатии на кнопку в текстовое поле программа будет вводить название операционной системы:



Напоминаю вам, что вы в любое время можете обратиться ко мне, если требуется помощь по программированию вообще и по программированию на Java в частности. Актуальную стоимость моих услуг уточняйте в личке.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, java, JavaFX, IntelliJ IDEA




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.



С. Визгорев - AI Factory's Chess, уровень 8, 18 октября 2015
Урок 4. Экземпляры и статические члены Java
Урок 7. Директива v-bind в Vue.js 3