Avancée generale des evenements, preparation du controller de la page des resultats pour l'ajout un binding ou d'un listener

This commit is contained in:
Djalim Simaila 2022-06-05 00:34:19 +02:00
parent 86c2dc2ebe
commit b73c6403aa
9 changed files with 167 additions and 69 deletions

View File

@ -1,14 +1,24 @@
package fr.univ_amu.iut;
import java.util.List;
import fr.univ_amu.iut.model.Academie;
import fr.univ_amu.iut.model.Discipline;
import fr.univ_amu.iut.model.Thematique;
import fr.univ_amu.iut.model.Usage;
public class Donnees {
private static Academie academieSelectionee = null;
private static Thematique thematiqueSelectionee = null;
private static Discipline disciplineSelectionee = Discipline.Toutes;
private static List<Usage> usagesObtenus;
public static List<Usage> getUsagesObtenus() {
return usagesObtenus;
}
public static void setUsagesObtenus(List<Usage> usagesObtenus) {
Donnees.usagesObtenus = usagesObtenus;
}
public static Academie getAcademieSelectionee() {
return academieSelectionee;
}

View File

@ -10,42 +10,49 @@ import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
import fr.univ_amu.iut.Donnees;
import fr.univ_amu.iut.model.Discipline;
import fr.univ_amu.iut.model.Niveau;
import fr.univ_amu.iut.model.Usage;
public class Controller implements Initializable{
@FXML
private TableColumn<Utilisateur, String> Disciplines;
private TableView<TableEntry> table;
@FXML
private TableColumn<Utilisateur, String> Niveaux;
private TableColumn<TableEntry, String> discipline;
@FXML
private TableColumn<Utilisateur, String> Noms;
private TableColumn<TableEntry, String> niveau;
@FXML
private TableColumn<Utilisateur, Integer> Numéro;
private TableColumn<TableEntry, String> nom;
@FXML
private TableView<Utilisateur> Table;
@FXML
private TableColumn<Utilisateur, String> Types;
ObservableList<Utilisateur> list = FXCollections.observableArrayList(
new Utilisateur(1,"Patrik","Maht","Blog","Terminal"),
new Utilisateur(2,"Mark","Chimie","Site","Seconde")
);
private TableColumn<TableEntry, String> description;
@Override
public void initialize(URL url, ResourceBundle resourceBundle) {
Noms.setCellValueFactory(new PropertyValueFactory<Utilisateur, String>("Noms"));
Numéro.setCellValueFactory(new PropertyValueFactory<Utilisateur, Integer>("Numéro"));
Disciplines.setCellValueFactory(new PropertyValueFactory<Utilisateur, String>("Disciplines"));
Types.setCellValueFactory(new PropertyValueFactory<Utilisateur, String>("Types"));
Niveaux.setCellValueFactory(new PropertyValueFactory<Utilisateur, String>("Niveaux"));
Table.setItems(list);
// TODO MOVE THIS INTO A LISTENER THAT ACTUALLY WORKS
// List<TableEntry> entries = new ArrayList<>();
// for (Usage usage: Donnees.getUsagesObtenus()){
// entries.add(new TableEntry(usage));
// }
// ObservableList<TableEntry> tableEntries = FXCollections.observableArrayList(entries);
// table.setItems(tableEntries);
nom.setCellValueFactory(new PropertyValueFactory<TableEntry, String>("nom"));
discipline.setCellValueFactory(new PropertyValueFactory<TableEntry, String>("discipline"));
description.setCellValueFactory(new PropertyValueFactory<TableEntry, String>("type"));
niveau.setCellValueFactory(new PropertyValueFactory<TableEntry, String>("niveau"));
}
}

View File

@ -6,13 +6,12 @@
<AnchorPane prefHeight="400.0" prefWidth="600.0" style="-fx-background-color: #1e3d59#1e3d59;" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fr.univ_amu.iut.fResultat.Controller">
<children>
<TableView fx:id="Table" layoutX="10.0" layoutY="10.0" prefHeight="380.0" prefWidth="580.0" style="-fx-background-radius: 20; -fx-border-color: #1e3d59#1e3d59; -fx-background-color: #f5f0e1#f5f0e1;" AnchorPane.bottomAnchor="10.0" AnchorPane.leftAnchor="10.0" AnchorPane.rightAnchor="10.0" AnchorPane.topAnchor="10.0">
<TableView fx:id="table" layoutX="10.0" layoutY="10.0" prefHeight="380.0" prefWidth="580.0" style="-fx-background-radius: 20; -fx-border-color: #1e3d59#1e3d59; -fx-background-color: #f5f0e1#f5f0e1;" AnchorPane.bottomAnchor="10.0" AnchorPane.leftAnchor="10.0" AnchorPane.rightAnchor="10.0" AnchorPane.topAnchor="10.0">
<columns>
<TableColumn fx:id="Numéro" prefWidth="75.0" text="Numéro" />
<TableColumn fx:id="Noms" prefWidth="121.0" text="Noms" />
<TableColumn fx:id="Disciplines" prefWidth="128.0" text="Disciplines" />
<TableColumn fx:id="Types" prefWidth="124.0" text="Types" />
<TableColumn fx:id="Niveaux" minWidth="8.0" prefWidth="130.0" text="Niveaux" />
<TableColumn fx:id="nom" prefWidth="121.0" text="Nom" />
<TableColumn fx:id="discipline" prefWidth="128.0" text="Disciplines" />
<TableColumn fx:id="niveau" minWidth="8.0" prefWidth="130.0" text="Niveaux" />
<TableColumn fx:id="description" prefWidth="124.0" text="Description" />
</columns>
</TableView>
</children>

View File

@ -0,0 +1,54 @@
package fr.univ_amu.iut.fResultat;
import java.util.List;
import fr.univ_amu.iut.model.Usage;
public class TableEntry {
private String nom;
private String discipline;
private String description;
private String niveau;
public TableEntry(Usage usage) {
nom = usage.getNom();
discipline = usage.getDiscipline().getNom();
description = usage.getDescription();
niveau = usage.getNiveau().getNom();
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getDiscipline() {
return discipline;
}
public void setDiscipline(String discipline) {
this.discipline = discipline;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getNiveau() {
return niveau;
}
public void setNiveau(String niveau) {
this.niveau = niveau;
}
}

View File

@ -1,40 +0,0 @@
package fr.univ_amu.iut.fResultat;
import java.util.List;
public class Utilisateur {
private int Numéro ;
private String Noms;
private String Disciplines;
private String Types;
private String Niveaux;
public Utilisateur(int numero, String noms, String disciplines, String types, String niveaux) {
Numéro = numero;
Noms = noms;
Disciplines = disciplines;
Types = types;
Niveaux = niveaux;
}
public int getNuméro() {
return Numéro;
}
public String getNoms() {
return Noms;
}
public String getDisciplines() {
return Disciplines;
}
public String getTypes() {
return Types;
}
public String getNiveaux() {
return Niveaux;
}
}

View File

@ -4,16 +4,19 @@ 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.DAOUsage;
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.Discipline;
import fr.univ_amu.iut.model.Thematique;
import fr.univ_amu.iut.screenController.ScreenController;
import fr.univ_amu.iut.view.map.France;
import fr.univ_amu.iut.view.map.FranceBuilder;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
@ -30,6 +33,7 @@ public class Controller implements Initializable {
DAOFactory daoFactory;
DAODiscipline daoDiscipline;
DAOThematique daoThematique;
DAOUsage daoUsage;
@FXML
private Pane stackPaneFrance;
@ -40,6 +44,9 @@ public class Controller implements Initializable {
@FXML
private AnchorPane thematique;
@FXML
private Button recherche;
private void initFrance() {
france = FranceBuilder.create()
.backgroundColor(Color.web("#f5f0e1"))
@ -141,6 +148,7 @@ public class Controller implements Initializable {
daoFactory = DAOFactoryProducer.getFactory(DAOType.TEST);
daoDiscipline = daoFactory.createDAODiscipline();
daoThematique = daoFactory.createDAOThematique();
daoUsage = daoFactory.createDAOUsage();
// a chaque fois
@ -149,6 +157,13 @@ public class Controller implements Initializable {
placeButtonThematique();
placeButtonDiscipline();
EventHandler<ActionEvent> handler = event ->{
//TODO Recherche en fonctions des objets selectionnés
Donnees.setUsagesObtenus(daoUsage.findAll());
ScreenController.activate("Resultats");
};
recherche.setOnAction(handler);
// matiere.getChildren().add(initButton(t.get(0).getNom(),38,30));
// matiere.getChildren().add(initButton("test",38,160));
}

View File

@ -41,6 +41,6 @@
</ScrollPane>
</children>
</StackPane>
<Button layoutX="875.0" layoutY="606.0" mnemonicParsing="false" prefHeight="120.0" prefWidth="337.0" style="-fx-background-radius: 50; -fx-background-color: #ffc13b#ffc13b;" text="RECHERCHER" AnchorPane.bottomAnchor="72.0" AnchorPane.rightAnchor="153.0" />
<Button id="recherche" fx:id="recherche" layoutX="875.0" layoutY="606.0" mnemonicParsing="false" prefHeight="120.0" prefWidth="337.0" style="-fx-background-radius: 50; -fx-background-color: #ffc13b#ffc13b;" text="RECHERCHER" AnchorPane.bottomAnchor="72.0" AnchorPane.rightAnchor="153.0" />
</children>
</AnchorPane>

View File

@ -37,6 +37,6 @@ public class DAOFactoryTest implements DAOFactory {
@Override
public DAOUsage createDAOUsage() {
return null;
return new DAOUsageTest();
}
}

View File

@ -0,0 +1,53 @@
package fr.univ_amu.iut.test;
import java.util.ArrayList;
import java.util.List;
import fr.univ_amu.iut.dao.DAOUsage;
import fr.univ_amu.iut.model.Academie;
import fr.univ_amu.iut.model.Discipline;
import fr.univ_amu.iut.model.Niveau;
import fr.univ_amu.iut.model.Usage;
public class DAOUsageTest implements DAOUsage{
@Override
public boolean delete(Usage obj) {
// TODO Auto-generated method stub
return false;
}
@Override
public List<Usage> findAll() {
List<Usage> usages = new ArrayList<>();
for( int i = 0; i < 69 ; i++){
Usage tmp = new Usage();
tmp.setNom(String.valueOf(i));
tmp.setDiscipline(Discipline.Technologie);
tmp.setNiveau(Niveau.Tous);
tmp.setDescription("je suis un commentaire tres long mais surtout tres utile, je sert a tester l'interface graphique et la mettre au bout de ses limtes");
usages.add(tmp);
}
return usages;
}
@Override
public Usage getById(int id) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean insert(Usage obj) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean update(Usage obj) {
// TODO Auto-generated method stub
return false;
}
}