Przygotowanie
- Zaimportuj projekt
lab-gui-gallerydo IntelliJ: - Pobierz projekt i rozpakuj.
- Zaimportuj gotowy projekt do IntelliJ: File -> Open... i poczekaj, aż Gradle pobierze wszystkie zależności.
- W klasie
Mainuzupełnij klucz doGoogle Custom Search JSON API,(użyj klucza z poprzedniego laboratorium - tutaj również będziemy pobierać obrazki przez Google Grafika). - Zapoznaj się z elementami aplikacji:
- Model danych galerii obrazów (pakiet
model) - Kontroler dla widoku galerii (klasa
GalleryController) - Stub widoku (plik
resources/view/galleryView.fxml) - Narzędzia do pobierania i zapisywania obrazów (
PhotoDownloader,PhotoSerializer)
- Model danych galerii obrazów (pakiet
Uruchomienie aplikacji JavaFX
Jak w każdym programie Java, aby uruchomić aplikację potrzebna jest klasa z metodą main. W tym celu została stworzona klasa Main, która jednak ładuje tylko aplikację GalleryApp. Wystartuje ona nasze GUI, wyświetlając gotowy widok galleryView.fxml. Klasa aplikacji JavaFX zawsze rozszerza klasę javafx.application.Application.
Aby uruchomić program uruchom klasę Main lub skorzystaj z przygotowanej wcześniej konfiguracji lab-gui-run (znajduje się w katalogu run). W ten sposób oddelegujemy uruchamianie do Gradle’a, w którym skonfigurowaliśmy już odpowiednio moduły JavyFX. Uruchomienie aplikacji bezpośrednio przez klasę GalleryApp nie zadziała bez zainstalowania osobno SDK JavyFX.
Uwaga: Jeśli przygotowana konfiguracja nie działa lub jest niewidoczna, można zamiast tego wykonać polecenie gradlew run z terminala lub wybrać task run w zakładce Gradle w IntelliJ.
Komentarz: Najważniejszym elementem klasy startowej jest metoda start, która jest wołana automatycznie przy uruchomieniu metody launch. Metoda start przyjmuje jako parametr scenę (Stage), na której będziemy rozmieszczać wszystkie kontrolki UI. Więcej na temat sceny i struktury elementów UI w JavaFX znajdziesz na stronie Scene Graph (opens in a new tab).
Po uruchomieniu programu powinniśmy najpiew zobaczyć w konsoli informację o pobraniu przykładowych zdjęć, po czym okienko z szkieletem naszego GUI:
