Zakladam, że masz już zainstalowane IntelliJ IDEA v. Community, ustawione w nim JDK 12 oraz dodane JavaFX.

Utworzenie projektu

Uruchom IntelliJ IDEA.
Masz dwie możliwości. Albo zostanie otwarty ostatnio otwierany projekt albo okno ‘Welcome’ jeśli żadnych projektów jeszcze nie masz.
W pierwszym przypadku w menu wybierasz File/New/Project. W drugim przypadku wybierasz opcję ‘Create New Project’ (Rys. 219)


Rys. 219. Okno ‘Welcome’

W obu przypadkach otwiera się okno ‘New Project’ (Rys. 220):


Rys. 220. Okno ‘New Project’

Tutaj możesz zmienić JDK jeśli masz zainstalowane więcej niż jedno. Jako typ projektu wybierasz Java, a nie Java FX. Opcja Java FX dotyczy Java FX 2.0, czyli już praktycznie nie istniejącej wersji skryptowej i stosunkowo rzadko używanego języka FXML opisującego struktuę aplikacji w formacie XML. WYbór Java nadal pozwala na korzystanie z FXML. Klikamy przycisk Next.
W następnym oknie masz możliwość slorzystania z prostego szablonu uzywającego metody main. Szablon aplikacji zastosujemy póżniej. Na razie klikamy przycisk Next.
W następnym oknie mamy mozliwość nadania nazwy projektowi i zmianę domyślnej lokalizacji. Kliknięcie przycisku ‘More Setting’ pozwala na ustawienie modułu (w sensie IntelliJ IDEA, nie w sensie modułu JDK), dokonanie zmian lokalizacji i formatu projektu. Ja nadałam projektowi nazwę javafx (Rys. 221):


Rys. 221. Okno ustawień nazwy projektu

Potem kliknęłam przycisk Finish.
Jeżeli pojawi się okno z pytaniem czy projekt uruchomić w tym oknie, czy w nowym oknie ja zawsze wybieram przycisk This Window.
Otwiera się okno projektu (Rys. 222):


Rys. 222. Okno nowo utworzonego projektu

Utworzenie pakietu

Nazwa pakietu, w systemie modularnym ma ważne znaczenie. Zaleca się, aby była odwrócona nazwa domenowa np.
org.javer.javafx.
W oknie projektu podświetlamy src i klikamy prawym klawiszem myszy. Z menu, które się pojawi wybieramy ‘New/Package’. W okienku, które się pojawi podajemy nazwe pakietu (Rys 223):


Rys. 223. Okno New Package

Klikamy przycisk OK. Pakiet został dodany do projektu (Rys 224):


Rys. 224. Okno projektu po utworzeniu pakietu

Utworzenie modułu

Ponownie podswietlamy src, klikamy prawym klawiszem myszy i z rozwijanego menu wybieramy ‘New/module-info.java’. W tym momencie utworzyliśmy moduł w sensie JDK o nazwie javafx (Rys. 225):


Rys. 225. Nowo utworzony moduł

Dodanie biblioteki JavaFX do projektu

Klikamy File/Project Structure.
Oknie ‘Project Structure’ podświetlamy ‘Modules’ (Rys 226):


Rys. 226. Okno Project Structure

W tym oknie klikamy znak plus + z prawej strony okna, wybieramy nr 2 czyli ‘Library’ i w oknie ‘Choose Libraries wybieramy bibliotekę globalną javafx, która utworzyliśmy wczesniej. (Rys. 227);


Rys. 227. Okno Choose Libraries

Klikamy przycisk Add Selected. Biblioteka została dodana do projektu. Klikamy przycisk Apply, a potem OK.

Szablon klasy

Zanim napiszemy pierwszą klasę warto najpierw przygotowac sobie wielorazony szablon klasy.
Podświetlamy nazwe pakietu, klikamy prawym klawiszem myszy i rozwijanego menu wybieramy Java Class. W oknie ‘New Java Class’ nadajemy klasie nazwę ClassTemplate i pozostawiamy wybór ‘Class’. Klikamy przycisk Enter. Pojawia się nowa klasa.
W pliku module-info.java dodajemy niezbędny wpis:

module javafx {
    requires javafx.graphics;
    exports org.javer.javafx to javafx.graphics;
}

Po uzupełnieniu klasy otrzymujemy szablon, którego możemy używać do pisania klas JavaFX:

package org.javer.javafx;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

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

    @Override
    public void init() {
    }

    @Override
    public void start(Stage stage) {
        try {
            StackPane root = new StackPane();
            Scene scene = new Scene(root, 300, 200);
            stage.setScene(scene);
            stage.setTitle("Witaj Świecie");
            stage.show();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void stop() {
    }
}

Cykl zyciowy aplikacji obejmuje metody init(), start(), stop().
Metoda main jest dodawana, gdyż niektóre IDE wymagają obecności metody main do uruchomienia klasy. Jeżeli klasa uruchamiana jest z linii poleceń metoda main jest zbędna. Jeżeli metoda main jest obecna to cykl aplikacji wyglada następująco: main(), init(), start(), stop(), powrót do metody main.
Jeżeli metoda main jest obecna nie powinna zawierać niczego więcej niż podano w powyższym kodzie.
Metoda init() na ogół zajmuje się wczytywaniem plików ze strumieni, nawiązaniem połączenia z bazą danych, etc.
Metoda start() wykonuje zasadniczy kod aplikacji.
Metoda stop() na ogół kończy to co zaczęła metoda init().
Po uruchomieniu kodu zobaczymy puste okno z napisem (nazwą)’Witaj Świecie’.

Pierwsza klasa

Usuń z powyższej klasy to co niepotrzebne. Masz swoją pierwszą klasę.

Co dalej?

Proponuje przeczytanie książki napisanej przez moją Panią i jej Tatę:
Ciekawa książka.
Ta książka pisana jeszcze pod rządami JavaFX 8, uzupełniona o rozdział poświęcony modularyzacji zawiera absolutnie wszystko czego potrzebujesz od zupełnego 0 do stopnia średniozaawansowanego. Jeżeli zainstalujesz środowiska JDK-12 i OpenJFX 12 oraz IntelliJ IDEA tak jak opisałam w niedawnych postach będziesz mógł swobodnie używac wszystkich kodów z tej książki praktycznie bez żadnych zmian.
Jedyna ważna zmiana, która zaszła w JavaFX, a nie jest uwzględniona w powyższej książce to klasa Robot, która doszła później. Opiszę tę klasę w jednym z postów, tak abyś miał pełna orientację w tym co dzieje się w JavaFX.
Gdybys mimo to miał jeszcze jakieś pytania (związane z Java albo JavaFX) – pisz śmiało. Postaram się odpowiedziec na każde ważne pytanie.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *