Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| slam4:javafx [2017/08/09 16:34] – modification externe 127.0.0.1 | slam4:javafx [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== JavaFx ====== | ====== JavaFx ====== | ||
| + | |||
| + | ===== JavaFx application ===== | ||
| + | |||
| + | JavaFx utilise une analogie avec le théâtre pour bâtir la structure de ses applications. | ||
| + | |||
| + | * Le programme **Main** dérive de **Application** | ||
| + | * Le **Stage** (primaryStage) est le théâtre dans lequel les éléments de l' | ||
| + | * La **Scene** est l' | ||
| + | * La Scene contient un élément parent (noeud Root) qui contient lui même d' | ||
| + | |||
| + | <sxh java> | ||
| + | public class Main extends Application { | ||
| + | @Override | ||
| + | public void start(Stage primaryStage) { | ||
| + | try { | ||
| + | Scene scene = new Scene(new BorderPane()); | ||
| + | scene.getStylesheets().add(getClass().getResource(" | ||
| + | primaryStage.setScene(scene); | ||
| + | primaryStage.setTitle(" | ||
| + | primaryStage.show(); | ||
| + | } catch (Exception e) { | ||
| + | e.printStackTrace(); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | public static void main(String[] args) { | ||
| + | launch(args); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Séparation des couches ===== | ||
| + | |||
| + | Chargement d'une vue à partir d'un fichier fxml : | ||
| + | |||
| + | <sxh java; | ||
| + | @Override | ||
| + | public void start(Stage primaryStage) { | ||
| + | try { | ||
| + | BorderPane root = (BorderPane)FXMLLoader.load(getClass().getResource(" | ||
| + | Scene scene = new Scene(root, | ||
| + | scene.getStylesheets().add(getClass().getResource(" | ||
| + | primaryStage.setScene(scene); | ||
| + | primaryStage.show(); | ||
| + | } catch(Exception e) { | ||
| + | e.printStackTrace(); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <sxh xml; | ||
| + | <?xml version=" | ||
| + | |||
| + | <?import javafx.scene.control.Button?> | ||
| + | <?import javafx.scene.control.MenuButton?> | ||
| + | <?import javafx.scene.control.MenuItem?> | ||
| + | <?import javafx.scene.layout.AnchorPane?> | ||
| + | <?import javafx.scene.layout.BorderPane?> | ||
| + | |||
| + | |||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | <Button fx: | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | ===== Association d' | ||
| + | Java 8 permet l' | ||
| + | <sxh java> | ||
| + | StackPane elem=new StackPane(); | ||
| + | elem.setOnMouseMouve((e)-> | ||
| + | </ | ||
| + | |||
| + | ===== Bind sur les propriétés d'un objet ===== | ||
| + | |||
| + | <sxh java> | ||
| + | canvas.heightProperty().bind(p.heightProperty()); | ||
| + | |||
| + | </ | ||
| + | ===== Remplissage et sélection sur un TableView ===== | ||
| <sxh java> | <sxh java> | ||
| Ligne 21: | Ligne 113: | ||
| ===== Ressources ===== | ===== Ressources ===== | ||
| |< 100% >| | |< 100% >| | ||
| - | | | | | + | | fontawesomefx |
| |jfxtras | [[http:// | |jfxtras | [[http:// | ||
| - | |::: | [[http:// | + | |::: | [[http:// |
| + | |||
| + | |||
| + | ===== Articles ===== | ||
| + | |||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[https:// | ||