From 54dbb4d45a1d5e951f19bf681b67f1bae500066f Mon Sep 17 00:00:00 2001 From: SIMAILA Djalim Date: Fri, 3 Jun 2022 11:57:32 +0200 Subject: [PATCH 1/5] Ajout du gestionnaire de fenetres --- .../iut/{FranceMain.java => Main.java} | 17 ++++++++++---- .../fr/univ_amu/iut/fResultat/Controller.java | 1 - .../java/fr/univ_amu/iut/fp/Controller.java | 4 ---- .../screenController/ScreenController.java | 23 +++++++++++++++++++ 4 files changed, 35 insertions(+), 10 deletions(-) rename src/main/java/fr/univ_amu/iut/{FranceMain.java => Main.java} (67%) create mode 100644 src/main/java/fr/univ_amu/iut/screenController/ScreenController.java diff --git a/src/main/java/fr/univ_amu/iut/FranceMain.java b/src/main/java/fr/univ_amu/iut/Main.java similarity index 67% rename from src/main/java/fr/univ_amu/iut/FranceMain.java rename to src/main/java/fr/univ_amu/iut/Main.java index 5c7c13c..0f7ac07 100644 --- a/src/main/java/fr/univ_amu/iut/FranceMain.java +++ b/src/main/java/fr/univ_amu/iut/Main.java @@ -1,18 +1,23 @@ package fr.univ_amu.iut; +import java.io.IOException; + +import fr.univ_amu.iut.screenController.ScreenController; import fr.univ_amu.iut.view.map.AcademiePath; import fr.univ_amu.iut.view.map.France; import fr.univ_amu.iut.view.map.FranceBuilder; import javafx.application.Application; +import javafx.fxml.FXMLLoader; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.layout.Background; import javafx.scene.layout.BackgroundFill; import javafx.scene.layout.CornerRadii; +import javafx.scene.layout.Pane; import javafx.scene.layout.StackPane; import javafx.stage.Stage; -public class FranceMain extends Application { +public class Main extends Application { France france; @Override @@ -33,10 +38,12 @@ public class FranceMain extends Application { } @Override - public void start(Stage stage) { - StackPane pane = new StackPane(france); - pane.setBackground(new Background(new BackgroundFill(france.getBackgroundColor(), CornerRadii.EMPTY, Insets.EMPTY))); - Scene scene = new Scene(pane); + public void start(Stage stage) throws IOException { + Scene scene = new Scene(new Pane()); + ScreenController gestionnaireDePages = new ScreenController(scene); + gestionnaireDePages.addScreen("Acceuil",FXMLLoader.load(getClass().getResource("/fr/univ_amu/iut/fp/fp.fxml"))); + gestionnaireDePages.addScreen("Resultats",FXMLLoader.load(getClass().getResource("/fr/univ_amu/iut/fResultat/FResultat.fxml")));; + gestionnaireDePages.activate("Resultats"); stage.setTitle("Carte des académie"); stage.setScene(scene); stage.show(); diff --git a/src/main/java/fr/univ_amu/iut/fResultat/Controller.java b/src/main/java/fr/univ_amu/iut/fResultat/Controller.java index 651d918..a166582 100644 --- a/src/main/java/fr/univ_amu/iut/fResultat/Controller.java +++ b/src/main/java/fr/univ_amu/iut/fResultat/Controller.java @@ -44,7 +44,6 @@ public class Controller implements Initializable{ Disciplines.setCellValueFactory(new PropertyValueFactory("Disciplines")); Types.setCellValueFactory(new PropertyValueFactory("Types")); Niveaux.setCellValueFactory(new PropertyValueFactory("Niveaux")); - Table.setItems(list); diff --git a/src/main/java/fr/univ_amu/iut/fp/Controller.java b/src/main/java/fr/univ_amu/iut/fp/Controller.java index 624865b..e0c809e 100644 --- a/src/main/java/fr/univ_amu/iut/fp/Controller.java +++ b/src/main/java/fr/univ_amu/iut/fp/Controller.java @@ -98,7 +98,6 @@ public class Controller implements Initializable { thematique.getChildren().add(initButton(thematiques.get(i).getNom(),332,i/2*130)); } } - return null; } @@ -116,9 +115,6 @@ public class Controller implements Initializable { List l = daoRessource.findAll(); List t = daoThematique.findAll(); - System.out.println(l); - - placeButtonThematique(); placeButtonRessource(); // matiere.getChildren().add(initButton(t.get(0).getNom(),38,30)); diff --git a/src/main/java/fr/univ_amu/iut/screenController/ScreenController.java b/src/main/java/fr/univ_amu/iut/screenController/ScreenController.java new file mode 100644 index 0000000..5f65158 --- /dev/null +++ b/src/main/java/fr/univ_amu/iut/screenController/ScreenController.java @@ -0,0 +1,23 @@ +package fr.univ_amu.iut.screenController; + +import java.util.HashMap; + +import javafx.scene.*; +import javafx.scene.layout.Pane; + +public class ScreenController { + private HashMap screenMap = new HashMap<>(); + private Scene main; + + public ScreenController(Scene main) { + this.main = main; + } + + public void addScreen(String name, Pane pane){ + screenMap.put(name, pane); + } + + public void activate(String name){ + main.setRoot( screenMap.get(name) ); + } +} From 82755c90152a349d01ba307be2e7ab9770f4332b Mon Sep 17 00:00:00 2001 From: SIMAILA Djalim Date: Sat, 4 Jun 2022 22:13:08 +0200 Subject: [PATCH 2/5] =?UTF-8?q?Ajouts=20:=20classe=20Donn=C3=A9es=20pour?= =?UTF-8?q?=20gerer=20les=20donn=C3=A9es=20en=20runtime=20,evenement=20du?= =?UTF-8?q?=20menu=20principal;=20refractor:=20=20les=20ressources=20en=20?= =?UTF-8?q?discipline=20dans=20le=20fxml=20de=20fenetre=20pricipal=20et=20?= =?UTF-8?q?son=20controller;=20Changements=20:=20ScreenController=20est=20?= =?UTF-8?q?pass=C3=A9=20en=20static?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/fr/univ_amu/iut/Donnees.java | 35 ++++++++++ src/main/java/fr/univ_amu/iut/Main.java | 38 +++++----- .../java/fr/univ_amu/iut/fResultat/Main.java | 24 ------- .../java/fr/univ_amu/iut/fp/Controller.java | 70 ++++++++++++++----- src/main/java/fr/univ_amu/iut/fp/Main.java | 25 ------- src/main/java/fr/univ_amu/iut/fp/fp.fxml | 2 +- .../screenController/ScreenController.java | 12 ++-- .../univ_amu/iut/test/DAODisciplineTest.java | 2 +- .../fr/univ_amu/iut/test/DAOFactoryTest.java | 2 +- 9 files changed, 111 insertions(+), 99 deletions(-) create mode 100644 src/main/java/fr/univ_amu/iut/Donnees.java delete mode 100644 src/main/java/fr/univ_amu/iut/fResultat/Main.java delete mode 100644 src/main/java/fr/univ_amu/iut/fp/Main.java diff --git a/src/main/java/fr/univ_amu/iut/Donnees.java b/src/main/java/fr/univ_amu/iut/Donnees.java new file mode 100644 index 0000000..95b8ee7 --- /dev/null +++ b/src/main/java/fr/univ_amu/iut/Donnees.java @@ -0,0 +1,35 @@ +package fr.univ_amu.iut; + +import fr.univ_amu.iut.model.Academie; +import fr.univ_amu.iut.model.Discipline; +import fr.univ_amu.iut.model.Thematique; + +public class Donnees { + private static Academie academieSelectionee = null; + private static Thematique thematiqueSelectionee = null; + private static Discipline disciplineSelectionee = Discipline.Toutes; + + public static Academie getAcademieSelectionee() { + return academieSelectionee; + } + public static void setAcademieSelectionee(Academie academieSelectionee) { + System.out.println("Academie Selectionée : %s".formatted(academieSelectionee.getNom())); + Donnees.academieSelectionee = academieSelectionee; + } + public static Thematique getThematiqueSelectionee() { + return thematiqueSelectionee; + } + public static void setThematiqueSelectionee(Thematique thematiqueSelectionee) { + System.out.println("Thematique selectionée : %s".formatted((thematiqueSelectionee == null)? "Aucune Thematique" : thematiqueSelectionee.getNom())); + Donnees.thematiqueSelectionee = thematiqueSelectionee; + } + public static Discipline getDisciplineSelectionee() { + return disciplineSelectionee; + } + public static void setDisciplineSelectionee(Discipline disciplineSelectionee) { + System.out.println("Discipline Selectionee : %s".formatted(disciplineSelectionee.getNom())); + Donnees.disciplineSelectionee = disciplineSelectionee; + } + + +} diff --git a/src/main/java/fr/univ_amu/iut/Main.java b/src/main/java/fr/univ_amu/iut/Main.java index 0f7ac07..9c29a64 100644 --- a/src/main/java/fr/univ_amu/iut/Main.java +++ b/src/main/java/fr/univ_amu/iut/Main.java @@ -8,42 +8,36 @@ import fr.univ_amu.iut.view.map.France; import fr.univ_amu.iut.view.map.FranceBuilder; import javafx.application.Application; import javafx.fxml.FXMLLoader; -import javafx.geometry.Insets; import javafx.scene.Scene; -import javafx.scene.layout.Background; -import javafx.scene.layout.BackgroundFill; -import javafx.scene.layout.CornerRadii; import javafx.scene.layout.Pane; -import javafx.scene.layout.StackPane; + +import javafx.scene.paint.Color; import javafx.stage.Stage; public class Main extends Application { France france; + private Scene scene = new Scene(new Pane()); + private ScreenController gestionnaireDePages = new ScreenController(scene); @Override - public void init() { + public void init() throws IOException { france = FranceBuilder.create() -// .backgroundColor(Color.web("#4aa9d7")) -// .fillColor(Color.web("#dcb36c")) -// .strokeColor(Color.web("#987028")) -// .hoverColor(Color.web("#fec47e")) -// .pressedColor(Color.web("#6cee85")) -// .selectedColor(Color.MAGENTA) -// .mousePressHandler(evt -> { -// AcademiePath academiePath = (AcademiePath) evt.getSource(); -// System.out.println("On vient de cliquer sur l'"+academiePath.getAcademie().getNom()); -// }) + .selectedColor(Color.MAGENTA) + .mousePressHandler(evt -> { + AcademiePath academiePath = (AcademiePath) evt.getSource(); + Donnees.setAcademieSelectionee(academiePath.getAcademie()); + }) .selectionEnabled(true) .build(); + + + ScreenController.addScreen("Acceuil",FXMLLoader.load(getClass().getResource("/fr/univ_amu/iut/fp/fp.fxml"))); + ScreenController.addScreen("Resultats",FXMLLoader.load(getClass().getResource("/fr/univ_amu/iut/fResultat/FResultat.fxml")));; + ScreenController.activate("Acceuil"); } @Override - public void start(Stage stage) throws IOException { - Scene scene = new Scene(new Pane()); - ScreenController gestionnaireDePages = new ScreenController(scene); - gestionnaireDePages.addScreen("Acceuil",FXMLLoader.load(getClass().getResource("/fr/univ_amu/iut/fp/fp.fxml"))); - gestionnaireDePages.addScreen("Resultats",FXMLLoader.load(getClass().getResource("/fr/univ_amu/iut/fResultat/FResultat.fxml")));; - gestionnaireDePages.activate("Resultats"); + public void start(Stage stage){ stage.setTitle("Carte des académie"); stage.setScene(scene); stage.show(); diff --git a/src/main/java/fr/univ_amu/iut/fResultat/Main.java b/src/main/java/fr/univ_amu/iut/fResultat/Main.java deleted file mode 100644 index 6fd9b20..0000000 --- a/src/main/java/fr/univ_amu/iut/fResultat/Main.java +++ /dev/null @@ -1,24 +0,0 @@ -package fr.univ_amu.iut.fResultat; - -import javafx.application.Application; -import javafx.fxml.FXMLLoader; -import javafx.scene.Scene; -import javafx.scene.layout.AnchorPane; -import javafx.stage.Stage; - - - -public class Main extends Application { - - public static void main(String[] args) {launch(args);} - @Override - public void start(Stage stage) throws Exception { - try { - AnchorPane root = FXMLLoader.load(getClass().getResource("/fr/univ_amu/iut/fResultat/FResultat.fxml")); - stage.setScene(new Scene(root)); - stage.show(); - } catch (Exception e) { - e.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/src/main/java/fr/univ_amu/iut/fp/Controller.java b/src/main/java/fr/univ_amu/iut/fp/Controller.java index e0c809e..33e050d 100644 --- a/src/main/java/fr/univ_amu/iut/fp/Controller.java +++ b/src/main/java/fr/univ_amu/iut/fp/Controller.java @@ -1,11 +1,13 @@ package fr.univ_amu.iut.fp; +import fr.univ_amu.iut.Donnees; +import fr.univ_amu.iut.dao.DAODiscipline; import fr.univ_amu.iut.dao.DAORessource; import fr.univ_amu.iut.dao.DAOThematique; import fr.univ_amu.iut.dao.factory.DAOFactory; import fr.univ_amu.iut.dao.factory.DAOFactoryProducer; import fr.univ_amu.iut.dao.factory.DAOType; -import fr.univ_amu.iut.model.Ressource; +import fr.univ_amu.iut.model.Discipline; import fr.univ_amu.iut.model.Thematique; import fr.univ_amu.iut.view.map.France; import fr.univ_amu.iut.view.map.FranceBuilder; @@ -15,7 +17,8 @@ import javafx.geometry.Insets; import javafx.scene.control.Button; import javafx.scene.layout.*; import javafx.scene.paint.Color; - +import javafx.event.EventHandler; +import javafx.event.ActionEvent; import java.net.URL; import java.util.List; import java.util.ResourceBundle; @@ -25,14 +28,14 @@ public class Controller implements Initializable { DAOFactory daoFactory; - DAORessource daoRessource; + DAODiscipline daoDiscipline; DAOThematique daoThematique; @FXML private Pane stackPaneFrance; @FXML - private AnchorPane ressource; + private AnchorPane discipline; @FXML private AnchorPane thematique; @@ -58,29 +61,57 @@ public class Controller implements Initializable {