Skip to content
Snippets Groups Projects
Commit e4e45f48 authored by Hugo Desmons's avatar Hugo Desmons
Browse files

ajout public void update(Observable observable, Object data)

dans la class abstraite DataVisualizationView
parent c41f2845
Branches
Tags
No related merge requests found
...@@ -36,10 +36,10 @@ public class DataStageView extends DataVisualizationView implements Observer { ...@@ -36,10 +36,10 @@ public class DataStageView extends DataVisualizationView implements Observer {
private Map<String, ScatterChart.Series<Double, Double>> serieList; private Map<String, ScatterChart.Series<Double, Double>> serieList;
private XYChart.Series series1; private ScatterChart.Series series1;
private XYChart.Series series2; private ScatterChart.Series series2;
private XYChart.Series series3; private ScatterChart.Series series3;
private XYChart.Series series4; private ScatterChart.Series series4;
private Stage root; private Stage root;
......
package fr.univlille.sae.classification.view; package fr.univlille.sae.classification.view;
import fr.univlille.sae.classification.controller.MainStageController;
import fr.univlille.sae.classification.model.ClassificationModel;
import fr.univlille.sae.classification.model.LoadableData;
import fr.univlille.sae.classification.utils.Observable;
import fr.univlille.sae.classification.utils.ViewUtil;
import javafx.scene.chart.ScatterChart; import javafx.scene.chart.ScatterChart;
import javafx.scene.chart.XYChart;
import javafx.scene.shape.*;
/** /**
* Classe abstraite représentant une vue de visualisation des données. * Classe abstraite représentant une vue de visualisation des données.
...@@ -8,10 +15,14 @@ import javafx.scene.chart.ScatterChart; ...@@ -8,10 +15,14 @@ import javafx.scene.chart.ScatterChart;
*/ */
public abstract class DataVisualizationView { public abstract class DataVisualizationView {
private ScatterChart.Series series1;
private ScatterChart.Series series2;
private ScatterChart.Series series3;
private ScatterChart.Series series4;
protected String actualX; protected String actualX;
protected String actualY; protected String actualY;
protected ScatterChart scatterChart; protected ScatterChart scatterChart;
private MainStageController controller;
/** /**
* Constructeur par défaut. * Constructeur par défaut.
*/ */
...@@ -61,4 +72,51 @@ public abstract class DataVisualizationView { ...@@ -61,4 +72,51 @@ public abstract class DataVisualizationView {
* Méthode abstraite à implémenter pour recharger les données de la vue. * Méthode abstraite à implémenter pour recharger les données de la vue.
*/ */
public abstract void reload(); public abstract void reload();
/**
* Met à jour l'affichage en ajoutant un nouveau point de données.
* @param observable modèle observé.
* @param data point de données à ajouter.
*/
public void update(Observable observable, Object data) {
try {
if (scatterChart == null || !(observable instanceof ClassificationModel)) {
System.err.println("Erreur de mise à jour.");
return;
}
LoadableData newData = (LoadableData) data;
if (actualX == null || actualY == null) {
controller.setAxesSelected("Aucuns axes sélectionnés");
return;
}
Object attrX = newData.getAttributesNames().get(actualX);
Object attrY = newData.getAttributesNames().get(actualY);
if (attrX instanceof Integer) {
attrX = ((Integer) attrX).doubleValue();
}
if (attrY instanceof Integer) {
attrY = ((Integer) attrY).doubleValue();
}
XYChart.Data<Double, Double> dataPoint = new XYChart.Data<>(
(Double) attrX,
(Double) attrY
);
dataPoint.setNode(ViewUtil.getForm(newData, new Rectangle(10, 10), controller));
if (!scatterChart.getData().isEmpty()) {
if (series4 == null) {
series4 = new ScatterChart.Series<>();
}
series4.getData().add(dataPoint);
series4.setName("indéfini");
scatterChart.getData().add(series4);
}
} catch (Exception e) {
System.err.println("Erreur de mise à jour : " + e.getMessage());
}
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment