Tutoriel 9: projet pong minimal #
Étape 1) créer le projet pong09 à partir de dep09
#
-
Dans un GitBash à la racine du dépôt Git
$ cp -rf dep09 pong09 -
Modifier
settings.gradlepour ajouter l’includeinclude 'pong08' -
Vérifier que
pong09s’exécute$ sh gradlew pong09 -
Dans VSCode, faire un clean workspace pour afficher le projet
pong09
Étape 2) retirer la sélection de modèle selon l’id de session
#
-
Dans
TachesB, retirer latacheB4public class TachesB { public static void creerTaches(FrontendTasks tasks) { tasks.taskGroup("TachesB") .waitsFor("TachesA") .contains(subTasks -> { tacheB1(subTasks); tacheB2(subTasks); tacheB3(subTasks); // retirer //tacheB4(subTasks); }); } // ... // retirer /* private static void tacheB4(FrontendTasks tasks) { tasks.task("tacheB4") .waitsFor(session(Session.class)) .executes(inputs -> { Session<?> session = inputs.get(session(Session.class)); session.addModelSelection(ModeleA.class, session.sessionId()); }); } */
Étape 3) ajouter un enum Region
#
public enum Region {
AFRIQUE, ASIE, AMERIQUE, EUROPE;
}
Étape 4) ajouter des traductions pour les régions #
-
Dans
fr.propertiesAFRIQUE=Afrique ASIE=Asie AMERIQUE=Ameriques EUROPE=Europe -
Dans
en.propertiesAFRIQUE=Africa ASIE=Asia AMERIQUE=Americas EUROPE=Europe
Étape 5) ajouter un ComboBox avec les régions sur la VueA
#
-
Dans
vue_a.fxml, ajouter<ComboBox fx:id="comboRegions"/> <!-- en haut du boutonA --> -
Dans
VueA, ajouter le code pour initialiser le ComboBox
Vérifier l’exécution #
-
Dans un GitBash à la racine du dépôt Git
$ sh gradlew pong09Fr-
Vérifier qu’on a le ComboBox des régions en français
-
-
Dans un GitBash à la racine du dépôt Git
$ sh gradlew pong09En-
Vérifier qu’on a le ComboBox des régions en anglais
-
Étape 6) Créer un événement pour changer de région #
-
Dans le paquet
evements, créer la classeEvtChangerRegionpublic class EvtChangerRegion extends Event { private Region region; public EvtChangerRegion setRegion(Region region) { this.region = region; return this; } public void appliquer() { Ntro.session().setModelSelection(ModeleA.class, region.name()); } }
Étape 7) Créer une tâche pour changer de région #
-
Dans la classe
TachesC, ajouter lachangerRegionpublic class TachesC { public static void creerTaches(FrontendTasks tasks) { tasks.taskGroup("TachesC") .waitsFor("TachesB") .contains(subTasks -> { tacheC1(subTasks); tacheC2(subTasks); // ajouter changerRegion(subTasks); }); } // ... // ajouter private static void changerRegion(FrontendTasks subTasks) { subTasks.task("changerRegion") .waitsFor(event(EvtChangerRegion.class)) .executes(inputs -> { EvtChangerRegion evtChangerRegion = inputs.get(event(EvtChangerRegion.class)); evtChangerRegion.appliquer(); }); } }
Étape 6) Dans la VueA, déclencher l’événement pour changer de région
#
Vérifier l’exécution #
-
Dans un GitBash à la racine du dépôt Git
$ sh gradlew pong09Fr-
Sélectionner la région Afrique, puis ajouter quelques valeurs:
-
Sélectionner la région Asie, puis ajouter quelques valeurs:
-
Vérifier la présence de fichier
.jsondifférents pour les versions du modèle:├── ModeleA │ ├── AFRIQUE.json │ ├── ASIE.json
-