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 [2016/03/22 00:44] – jcheron | 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 | [[http:// | ||
|jfxtras | [[http:// | |jfxtras | [[http:// | ||
- | |::: | [[http:// | + | |::: | [[http:// |
+ | |||
+ | |||
+ | ===== Articles ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||