CV05 - Zadání - 1
Zadání úlohy na cvičení - grafické uživatelské rozhraní s využitím JavaFX
JavaFX GUI
Z vašeho projektu z minulého cvičení nebo z projektu s řešením minulého cvičení (https://gitlab.vsb.cz/jez04-vyuka/java1/labs/lab05v1.git)
Vytvořte GUI pomocí programu SceneBuilder (případně vytvořte kód ručně), které bude obsahovat:
- Canvas s kanónem střelou a UFO
- Dva posuvníky pro nastavení úhlu natočení kanónu a síly výstřelu
- Tlačítko pro výstřel
Vytvořte soubor gameWindow.fxml, který definuje vzhled GUI a třídu GameController, která bude sloužit pro propojení GUI s existujícím kódem.
// Construct a main window with a canvas.
FXMLLoader gameLoader = new FXMLLoader(getClass().getResource("/lab/gameWindow.fxml"));
Parent root = gameLoader.load();
GameController gameController = gameLoader.getController();
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.resizableProperty().set(false);
primaryStage.setTitle("Java 1 - 1th laboratory");
primaryStage.show();
// Exit program when main window is closed
primaryStage.setOnCloseRequest(this::exitProgram);
GameControler
Třída GameControler bude obsahovat:
- inicializaci světa a objektů v něm
- inicializaci vlákna (nyní DrawingThread)
- Samotné vykreslení a simulace světa
Odevzdání
Řešení odevzdejte do systému Kelvin jako úlohu "Java 1 - 5. cvičení v1". Do systému nahrejde celý obsah složky src a soubor pom.xml. Postupujte dle videa na DU02 k odevzdání v době 3. cvičení.
Následně bude projekt zkompilován a provedou se Unit Testy. Vzhledem k povaze projektu a prozatímnímu testovacímu využití systému Kelvin v předmětu Java 1 v případě selhání nezoufejte.
Jedná se o pomocný test, vše bude ještě hodnoceno ručně. Důležité je nahrát soubory aby bylo možno vše vyhodnotit a provést analýzu na plagiáty. Věřím, že je to je formalita a všichni z Vás tvoří vlastní kód.
Řešení
Řešení zadání najdete v gitu ve větvi solution https://gitlab.vsb.cz/jez04-vyuka/java1/labs/lab05v1/-/tree/solution?ref_type=heads