Aktualność książki “JavaFX 9. Tworzenie graficznych interfejsów użytkownika”

Okładka książki

Więcej informacji o książce znajdziesz we wpisie ciekawa książka

Tekst książki jest aktualny na dziś, czyli 2021-02-08, z uwagami jak poniżej.

Rozdział 30

“Rozdział 30. Nashorn” poświęcony wersji JavaScript “Nashorn” przeznaczonej dla JDK, stracił sens w dniu 2020-09-15, gdyż Nashorn, został ostatecznie usunięty z JDK.

Rozdział 34. FXML

Kilka przykładów pokazuje obsługę przycisków przy użyciu JavaScript Nashorn. Te przykłady od 2020-09-15 – już nie działają.

Rozdział 36

“Rozdział 36. Modularyzacja”. Rozdział ten tylko pośrednio dotyczy JavaFX. W czasie pisania książki było to zagadnienie nowe, wymagające dokładniejszego omówienia. Dzisiaj wszyscy ten temat znają. W Internecie jest mnóstwo dobrych materiałów przybliżających temat. Gdyby było przewidziane nowe wydanie książki ten rozdział zostałby prawdopodobnie usunięty. Wszystko co w nim powiedziano jest aktualne, ale po prostu już nie pasuje do książki.

Aktualność kodu

Kod projektu został przejrzany, sprawdzony i zweryfikowany zgodnie z powyższymi uwagami.

Zmiany w kodzie w stosunku do wersji pierwotnej:

  • 1. Ścieżki do plików obrazków, które zaczynały się od ‘src/’ teraz zaczynają się od ‘JavaFX9/src/’ ze względu na zmiany w układzie modułów.
  • 2. Usunięto Rozdział 30. “Nashorn” ze względu na usunięcie tego języka z JDK.
  • 3. W przypadku urli ścieżka zmienia się z: URL url = this.getClass().getClassLoader().getResource("JavaFX9/src/resources/html/alert.html"); na: URL url = this.getClass().getResource("/resources/html/alert.html");
  • 4. W powodu usunięcia języka nashorn usunięto pliki:
    • a) Listing34_05.java oraz /resources/listing34_05.fxml
    • b) Listing34_06.java oraz /resources/listing34_06.fxml
    • c) Listing34_07.java oraz /resources/listing34_07.fxml
    • d) Listing34_08.java oraz /resources/listing34_08.fxml
    • e) Listing34_12.java oraz /resources/listing34_12.fxml
  • 5. Folder ‘math’ dołączono do projektu jako moduł.
  • 6. W module ‘math’ dodano brakujący folder ‘assets’
  • 7. Pominięto projekty Rozdzial36_1 do Rozdzial36_6. Te projekty nie wymagają poprawek. Możesz je ściagnąć ze strony Helionu.

Poprawiony i zaktualizowany kod w postaci projektu IntelliJ IDEA dla OpenJDK 15.0.2 i JavaFX 15.0.1 możesz ściągnąć stąd:

Jeżeli ściągasz przy użyciu Google Chrome to zignoruj ostrzeżenia “Plik JavaFX9.zip jest rzadko (albo: nie jest często) pobierany i może być niebezpieczny”. Gwarantuję, że nie ma tam żadnych wirusów ani niczego niebezpiecznego (chyba, że Google coś dorzuci :-). Oczywiście to błędy tłumacza Google. Chodzi, o to, że zzipowany plik zawiera pliki *.iml charakterystyczne dla projektów IntelliJ IDEA, które są rzadko przesyłane.

Jeżeli zapewnisz, że w IntelliJ Idea będzie środowisko nazwie “15” (czyli Open JDK 15.0.1) oraz biblioteka globalna o nazwie “javafx” (JavaFX 15.0.1), których sposób tworzenia zostanie opisany w innych postach na tej witrynie – nie będziesz mieć problemu z importem projektu.

Nadal trzeba do projektu dodać (tak jak się dodaje bibliotekę) 2 pliki *.jar obecne w folderze src/resources/jars.

W pliku do ściągnięcia nie umieszczano materiałów dotyczących rozdziału 36. Nie wymagały żadnej zmiany i właściwie są już mało użyteczne, choć aktualne. Jeśli potrzebujesz – możesz użyć kodów dostępnych na stronie książki w Wydawnictwie Helion. Link podany jest na początku tego wpisu.

Aktualność JavaFX

Ta witryna jest przewidziana jako kontynuacja i uzupełnienie książki. Kontynuacja, gdyż JavaFX ciągle się rozwija. Zmiany, które zaszły w JavaFX od wersji 9 do JavaFX 15.0.1 możesz prześledzić tutaj

Zmiany są w zasadzie kosmetyczne. Klasa Robot i inne ważniejsze zmiany, które zaszły od czasu opublikowania książki zostaną omówione na tej witrynie. Uzupełnienia, gdyż książka, z racji wymagań redakcyjnych, nie opisywała szeregu ważnych, ciekawych i inspirujących rozwiązań oraz rozwiązań na poziomie średnio zaawansowanym i zaawansowanym. Te wszystkie ‘brakujące’ zagadnienia będą stopniowo opisywane na tej witrynie.

Najwięcej skorzystasz z witryny, jeśli kupisz i zapoznasz się z treścią książki. To co jest w książce nie będzie tutaj powtórnie omawiane, choćby ze względu na prawa autorskie i wydawnicze.