Sprawdzenie

Uruchom Netbeans 9.
Zakładam, że dodałeś OpenJDK 11 do listy platform Java oraz że masz już utworzoną bibliotekę OpenJFX 11. Jeśli nie to stosowne przepisy znajdziesz w poprzednich wpisach na blogu.

Utworzenie projektu

Kliknij File/New Projekt. W oknie, które się otworzy wybierz Java z kategorii i Java Modular Project z rodzajów projektów (Rys. 119). Kliknij przycisk Next.

Netbeans 9. How to prepare project OpenJFX 11
Rys. 119. Wybór rodzaju projektu

W oknie, które się otworzy (Rys. 120)

Netbeans 9. How to prepare project OpenJFX 11
Rys. 120. Wybór nazwy i położenia oraz platformy
  • Nadaj nazwę projektowi np. aa
  • Z listy platform wybierz OPENJDK 11
  • Kliknij przycisk Finish
  • W ten sposób utworzyliśmy nowy projekt

Utworzenie modułu

Kliknij nazwę projektu prawym klawiszem myszy i z menu kontekstowego (Rys. 121) wybierz New/Module.

Netbeans 9. How to prepare project OpenJFX 11
Rys. 121. Menu tworzenia modułu

W oknie które się otworzy (Rys. 122) nadaj nazwę modułowi np. aa i kliknij przycisk Finish.

Netbeans 9. How to prepare project OpenJFX 11
Rys. 122. Menu tworzenia modułu

Utworzony został nowy moduł (Rys. 123).

Netbeans 9. How to prepare project OpenJFX 11
Rys. 123. Nowy moduł w projekcie

Kliknij na folder classes prawym klawiszem myszy i wybierz New/Java Package. W oknie, które się otworzy nadaj pakietowi nazwę np. aa i kliknij Finish, aby utworzyć ten pakiet.
W oknie projektu pojawił się nowy pakiet. Projekt wygląda teraz tak (Rys. 124).

Netbeans 9. How to prepare project OpenJFX 11
Rys. 124. Nowy pakiet w projekcie

W pakiecie umieszczamy klasę AA, np. o takiej treści:

public class FadeTimeline1OfRect extends Application {
    public static void main(String[] args) {
        Application.launch(args);
    }
    @Override
    public void start(Stage stage) {
        Rectangle rect = new Rectangle(10, 10, 150, 80);
        rect.setFill(Color.DARKORCHID);
        rect.setStroke(Color.BLACK);
        double w = 10.0;
        rect.setStrokeWidth(w);
        rect.relocate(100, 75);
        Robot robot = new Robot();
        Pane root = new Pane();
        root.getChildren().add(rect);
        Scene scene = new Scene(root, 400, 300, Color.WHITE);
        stage.setTitle("Change alfa");
        stage.setScene(scene);
        stage.show();
        Color color1 = new Color(Color.DARKORCHID.getRed(), Color.DARKORCHID.getGreen(), Color.DARKORCHID.getBlue(), Color.DARKORCHID.getOpacity());
        Color color2 = new Color(0, 0, 0, 1.0);
        Color color3 = new Color(Color.DARKORCHID.getRed(), Color.DARKORCHID.getGreen(), Color.DARKORCHID.getBlue(), 0.2);
        Color color4 = new Color(0.8, 0.8, 0.8, 1.0);
        KeyValue kv1x = new KeyValue(rect.fillProperty(), color1);
        KeyValue kv1y = new KeyValue(rect.strokeProperty(), color2);
        KeyFrame kf1 = new KeyFrame(Duration.millis(0), kv1x, kv1y);
        KeyValue kv2x = new KeyValue(rect.fillProperty(), color3);
        KeyValue kv2y = new KeyValue(rect.strokeProperty(), color4);
        KeyFrame kf2 = new KeyFrame(Duration.millis(2500), kv2x, kv2y);
        javafx.animation.Timeline tm = new javafx.animation.Timeline();
        tm.getKeyFrames().addAll(kf1, kf2);
        tm.setCycleCount(2);
        tm.setAutoReverse(true);
        tm.play();
    }
}

Plik module-info powinien mieć taką treść:

module aa {
    requires javafx.graphics;
    exports aa to javafx.graphics;
}

W projekcie zobaczysz mnóstwo czerwonych podkreśleń.

Dodanie biblioteki

W oknie projektu kliknij Libraries prawym klawiszem myszy i z rozwijanego menu (Rys. 125)

Netbeans 9. How to prepare project OpenJFX 11
Rys. 125. Menu dodawania nowej biblioteki

wybierz Add Library. W oknie Add Library (Rys. 126) podświetl bibliotekę OPENJFX11 i kliknij przycisk Add Library.

Netbeans 9. How to prepare project OpenJFX 11
Rys. 126. Lista bibliotek do dodania

Odczekaj chwilę (ok. 10 s). Z głównego menu wybierz Run / Clean nad Build Project (aa) (Rys. 127).

Netbeans 9. How to prepare project OpenJFX 11
Rys. 127. Oczyszczenie i budowanie projektu

Jeśli czerwone punkty nie znikną kliknij module-info i powtórz operację Clean and Build Project.
Projekt jest gotowy do uruchomienia.
Zwróć uwagę, że w tekście znajduje się odniesienie do klasy Robot występującej jedynie w JavaFX 11 (Rys. 128).

Netbeans 9. How to prepare project OpenJFX 11
Rys. 128. Klasa z JavaFX 11

Jest zupełnie niepotrzebna. Wstawiłam ją tylko, aby pokazać, że wszystko działa jak należy.

Dodaj komentarz

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