Java – Lesson 5

Vytvořte vhodné uživatelské rozhraní pomocí nástroje Scene Builder a propojte ho s vaším projektem. Pokud jsme nebyli na přednášce nebo něco nepochopili, doporučuji vyzkoušet si to nejdříve mimo projekt.

Příklad na vytvoření jednoduché aplikace pomocí prostředí Scene Builder.

[SceneBuilder.pdf]

package lab;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;

public class App extends Application{
	public static void main(String[] args) {
    	launch(args);
    }
   
	@FXML
    private Button tlacitko;
	
	@FXML
	void stiskTlacitka(ActionEvent event) {
    	System.out.println("tlacitko");
	}
	
	@Override
	public void start(Stage primaryStage) throws Exception {
    	FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/lab/test.fxml"));
    	Pane root = fxmlLoader.load();
        Scene scene = new Scene(root);
        primaryStage.setScene(scene);
        primaryStage.setTitle("Example Java I");
        primaryStage.show();
	}
}

Jednoduché okno s kontejnerem BorderPane a tlačítkem v prostřední části.

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>


<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="lab.App">
   <center>
      <Button fx:id="tlacitko" mnemonicParsing="false" onAction="#stiskTlacitka" text="Button" BorderPane.alignment="CENTER" />
   </center>
</BorderPane>

Jednotlivé soubory ke stažení jsou zde [App.java] [test.fxml]

Přidejte GUI (včetně canvasu) do vašeho projektu pomocí fxml souboru, který načtete pomocí FXMLLoaderu.

Přidete tlačítko pro vystřelení, typ střely, natáčení děla, sílu děla, generování draků apod.

Rozšiřte si dále váš program třeba tak, že draci budou mít nějaký život a nepůjde je sestřelit jen na jednu ránu.