From 2382b869ac8cef90f96a9d8591fed99925b9f875 Mon Sep 17 00:00:00 2001 From: dohodin Date: Sat, 21 Jan 2023 18:15:01 +0100 Subject: [PATCH] Captor Display Working --- .../ProjetJavaFX/view/MainPage.class | Bin 8724 -> 10548 bytes Source/src/model/CapteurVirtuel.java | 4 +- Source/src/model/Captor.java | 13 +++ Source/src/view/MainPage.java | 93 ++++++++++++++++-- 4 files changed, 98 insertions(+), 12 deletions(-) diff --git a/Source/out/production/ProjetJavaFX/view/MainPage.class b/Source/out/production/ProjetJavaFX/view/MainPage.class index 668faf308e2487e2f4d014a08bfb44a1f2a24792..10f410fee8f01da78fd3f13cef48ac3343024df7 100644 GIT binary patch literal 10548 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 { vb1.getChildren().clear(); - vb1.getChildren().add(setVboxCPUCaptor()); + vb1.getChildren().add(setDisplayCPUCaptor()); }); @@ -47,20 +51,35 @@ public class MainPage { open.setImage(new Image("https://www.citypng.com/public/uploads/preview/download-black-right-triangle-png-31629764954y0662peplm.png")); vb2.getChildren().clear(); + vb1.getChildren().clear(); }else{ vb1.getChildren().clear(); vb1.getChildren().add(setDisplayVirtualCaptor()); open.setImage(new Image("https://cdn-icons-png.flaticon.com/512/0/159.png")); - vb2.getChildren().add(setHBoxFirstCaptor()); - vb2.getChildren().add(setHBoxSecondCaptor()); + vb2.getChildren().add(setDisplayFirstCaptor()); + vb2.getChildren().add(setDisplaySecondCaptor()); } }); + + FirstCaptorButton.setOnAction(e -> { + + vb1.getChildren().clear(); + vb1.getChildren().add(setDisplayCaptor(c1)); + + }); + + SecondCaptorButton.setOnAction(e -> { + + vb1.getChildren().clear(); + vb1.getChildren().add(setDisplayCaptor(c2)); + + }); } - private VBox setVboxCPUCaptor() { + private VBox setDisplayCPUCaptor() { VBox FirstCaptorCPU = new VBox(); @@ -117,7 +136,7 @@ public class MainPage { return FirstCaptorCPU; } - private HBox setHBoxFirstCaptor(){ + private HBox setDisplayFirstCaptor(){ HBox Captor1 = new HBox(); @@ -125,19 +144,19 @@ public class MainPage { FirstCaptorImage.setFitHeight(73); FirstCaptorImage.setFitWidth(73); - Button FirstCaptorButton = new Button(); FirstCaptorButton.setText(c1.getName()); FirstCaptorButton.setFont(new Font("System", 13)); FirstCaptorButton.setMaxWidth(Double.MAX_VALUE); FirstCaptorButton.setAlignment(Pos.CENTER_LEFT); + Captor1.getChildren().add(FirstCaptorImage); Captor1.getChildren().add(FirstCaptorButton); return Captor1; } - private HBox setHBoxSecondCaptor(){ + private HBox setDisplaySecondCaptor(){ HBox Captor2 = new HBox(); @@ -145,7 +164,6 @@ public class MainPage { SecondCaptorImage.setFitHeight(73); SecondCaptorImage.setFitWidth(73); - Button SecondCaptorButton = new Button(); SecondCaptorButton.setText(c2.getName()); SecondCaptorButton.setFont(new Font("System", 13)); SecondCaptorButton.setMaxWidth(Double.MAX_VALUE); @@ -162,7 +180,7 @@ public class MainPage { VBox CaptorVirtual = new VBox(); - Label ViewTempVirtualCaptor = new Label("Temperature moyenne des sous-capteurs du capteur virtuel : " + cV1.getTempMoyenne() + "°C"); + Label ViewTempVirtualCaptor = new Label("Temperature moyenne des sous-capteurs du capteur virtuel : " + Math.round(cV1.getTempMoyenne()*10.0)/10.0 + "°C"); ViewTempVirtualCaptor.setFont(new Font("Arial",20)); ViewTempVirtualCaptor.setMaxWidth(Double.MAX_VALUE); @@ -223,4 +241,61 @@ public class MainPage { return CaptorVirtual; } + private VBox setDisplayCaptor(Captor cap){ + + VBox Captor = new VBox(); + + Label ViewTempCaptor = new Label("Temperature du capteur " + cap.getName() + " : " + Math.round(cap.getTemperature()*10.0)/10.0 + "°C"); + + ViewTempCaptor.setFont(new Font("Arial",25)); + ViewTempCaptor.setMaxWidth(Double.MAX_VALUE); + ViewTempCaptor.setAlignment(Pos.CENTER); + ViewTempCaptor.setWrapText(true); + + ImageView CaptorImage = new ImageView(new Image("https://static.thenounproject.com/png/7561-200.png")); + + CaptorImage.setFitWidth(500); + CaptorImage.setFitHeight(300); + + + Captor.getChildren().add(CaptorImage); + Captor.getChildren().add(ViewTempCaptor); + + + ObservableList CaptorObs = FXCollections.observableArrayList( + TrueCaptor->new ObservableValue[]{ + TrueCaptor.getTemperatureProperty() + } + ); + + CaptorObs.addListener((ListChangeListener.Change c) ->{ + while (c.next()){ + + if (c.wasUpdated()){ + + Double temp = cap.getTemperature(); + + if (temp < 0){ + + ViewTempCaptor.setStyle("-fx-text-fill : blue"); + + } else if (temp > 30) { + + ViewTempCaptor.setStyle("-fx-text-fill : red"); + + }else { + + ViewTempCaptor.setStyle("-fx-text-fill : black"); + + } + ViewTempCaptor.textProperty().set("Temperature du capteur " + cap.getName() + " : " + Math.round(cap.getTemperature()*10.0)/10.0 + "°C"); + } + } + }); + + CaptorObs.add(cap); + + return Captor; + } + }