Skip to content
Snippets Groups Projects
Commit 124a267e authored by Salles Coralie's avatar Salles Coralie
Browse files

Ajout de différentes pages dans l'interface

parent 84876d4e
No related branches found
No related tags found
No related merge requests found
/app/nbproject/private/
\ No newline at end of file
/app/nbproject/private/
/app/dist/
/app/build/
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.chart.CategoryAxis?>
<?import javafx.scene.chart.LineChart?>
<?import javafx.scene.chart.NumberAxis?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Separator?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.ColumnConstraints?>
<?import javafx.scene.layout.GridPane?>
<?import javafx.scene.layout.HBox?>
......@@ -26,18 +31,130 @@
<Font size="28.0" />
</font>
</Label>
<LineChart fx:id="humidityChart" legendSide="TOP" prefHeight="178.0" prefWidth="600.0" GridPane.rowIndex="1">
<xAxis>
<CategoryAxis fx:id="humidityX" animated="false" label="Temps" prefHeight="34.0" prefWidth="522.0" side="BOTTOM" />
</xAxis>
<yAxis>
<NumberAxis fx:id="humidityY" animated="false" label="Humidité" side="LEFT" />
</yAxis>
</LineChart>
<GridPane fx:id="accueil" visible="false" GridPane.rowIndex="1">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="-Infinity" minWidth="10.0" prefWidth="20.0" />
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<Label text="Informations générales" textAlignment="CENTER" GridPane.halignment="CENTER" GridPane.valignment="CENTER">
<font>
<Font name="System Bold" size="12.0" />
</font></Label>
<Label text="Informations sur la plante" GridPane.columnIndex="2" GridPane.halignment="CENTER" GridPane.valignment="CENTER">
<font>
<Font name="System Bold" size="12.0" />
</font></Label>
<HBox alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="200.0" spacing="10.0" GridPane.rowIndex="1">
<children>
<ImageView fitHeight="35.0" fitWidth="37.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@images/temperature.jpg" />
</image></ImageView>
<Label fx:id="temperature" text="température" />
</children>
</HBox>
<HBox alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="200.0" spacing="10.0" GridPane.rowIndex="2">
<children>
<ImageView fitHeight="35.0" fitWidth="37.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@images/intensity.jpg" />
</image></ImageView>
<Label fx:id="intensity" text="luminosité" />
</children>
</HBox>
<HBox alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="200.0" spacing="10.0" GridPane.rowIndex="3">
<children>
<ImageView fitHeight="35.0" fitWidth="37.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@images/humidity.png" />
</image></ImageView>
<Label fx:id="himidityAir" text="himidité dans l'air" />
</children>
</HBox>
<HBox alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="200.0" spacing="10.0" GridPane.columnIndex="2" GridPane.rowIndex="1">
<children>
<ImageView fitHeight="35.0" fitWidth="37.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@images/humidity.png" />
</image></ImageView>
<Label fx:id="humidityPlante" text="humidité dans la plante" />
</children>
</HBox>
<HBox alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="200.0" spacing="10.0" GridPane.columnIndex="2" GridPane.rowIndex="2">
<children>
<ImageView fitHeight="35.0" fitWidth="37.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@images/seuil.jpg" />
</image></ImageView>
<Label fx:id="humiditySeuil" text="seuil d'humidité pour arrosage" />
</children>
</HBox>
<Separator orientation="VERTICAL" prefHeight="200.0" GridPane.columnIndex="1" GridPane.halignment="CENTER" GridPane.rowSpan="4" />
</children>
<GridPane.margin>
<Insets left="10.0" right="10.0" />
</GridPane.margin>
</GridPane>
<GridPane fx:id="humidity" visible="false" GridPane.rowIndex="1">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="-Infinity" minHeight="10.0" prefHeight="180.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<LineChart>
<xAxis>
<CategoryAxis label="temps" side="BOTTOM" />
</xAxis>
<yAxis>
<NumberAxis side="LEFT" />
</yAxis>
</LineChart>
</children>
<GridPane.margin>
<Insets left="10.0" right="10.0" />
</GridPane.margin>
</GridPane>
<GridPane fx:id="configuration" visible="false" GridPane.rowIndex="1">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" minWidth="10.0" prefWidth="100.0" />
</columnConstraints>
<rowConstraints>
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
<RowConstraints minHeight="10.0" prefHeight="30.0" vgrow="SOMETIMES" />
</rowConstraints>
<children>
<HBox alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="200.0" spacing="10.0">
<children>
<Label text="Seuil d'humidité minimum tolérable: " wrapText="true" />
<TextField fx:id="seuil" alignment="CENTER_RIGHT" promptText="valeur en %" />
<Label fx:id="seuilError" text="(en %)" wrapText="true" />
</children>
<GridPane.margin>
<Insets />
</GridPane.margin>
</HBox>
</children>
<GridPane.margin>
<Insets left="10.0" right="10.0" />
</GridPane.margin>
</GridPane>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0" spacing="30.0" GridPane.halignment="CENTER" GridPane.rowIndex="2" GridPane.valignment="CENTER">
<children>
<Button fx:id="humidity" mnemonicParsing="false" onAction="#clickHumidity" text="Humidité" />
<Button fx:id="accueil" mnemonicParsing="false" onAction="#clickAccueil" text="Accueil" />
<Button mnemonicParsing="false" onAction="#clickAccueil" text="Accueil" />
<Button mnemonicParsing="false" onAction="#clickHumidity" text="Humidité" />
<Button mnemonicParsing="false" onAction="#clickConfig" text="Configuration" />
</children>
</HBox>
</children>
......
......@@ -7,6 +7,8 @@ package Vue;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
......@@ -14,6 +16,9 @@ import javafx.scene.chart.CategoryAxis;
import javafx.scene.chart.LineChart;
import javafx.scene.chart.NumberAxis;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
/**
* FXML Controller class
......@@ -23,30 +28,78 @@ import javafx.scene.control.Button;
public class FXMLVueController implements Initializable {
@FXML
private LineChart<Integer, Integer> humidityChart;
private GridPane accueil;
@FXML
private Button humidity;
private Label temperature;
@FXML
private Button accueil;
private Label intensity;
@FXML
private NumberAxis humidityY;
private Label himidityAir;
@FXML
private CategoryAxis humidityX;
private Label humidityPlante;
@FXML
private Label humiditySeuil;
@FXML
private GridPane humidity;
@FXML
private GridPane configuration;
@FXML
private TextField seuil;
@FXML
private Label seuilError;
private GridPane currentGridPane;
/**
* Initializes the controller class.
*/
@Override
public void initialize(URL url, ResourceBundle rb) {
//Put the gridPane Accueil visible
accueil.setVisible(true);
currentGridPane = accueil;
//Only allow integers as a value for the seuil
seuil.textProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue<? extends String> observable, String oldValue, String newValue) {
if (!newValue.matches("\\d*")) {
seuil.setText(newValue.replaceAll("[^\\d]", ""));
}
seuilError.setText("(en %)");
if (!(seuil.getText().isEmpty()) && !(Integer.parseInt(seuil.getText())<100)){
seuilError.setText("La valeur du seuil doit être inférieure à 100%");
}
}
});
//Bind the label for the seuil in Accueil and the value in configurations
humiditySeuil.textProperty().bind(seuil.textProperty());
}
@FXML
private void clickHumidity(ActionEvent event) {
currentGridPane.setVisible(false);
humidity.setVisible(true);
currentGridPane = humidity;
}
@FXML
private void clickAccueil(ActionEvent event) {
currentGridPane.setVisible(false);
accueil.setVisible(true);
currentGridPane = accueil;
}
@FXML
private void clickConfig(ActionEvent event) {
currentGridPane.setVisible(false);
configuration.setVisible(true);
currentGridPane = configuration;
}
}
app/src/Vue/images/humidity.png

2.69 KiB

app/src/Vue/images/intensity.jpg

22 KiB

app/src/Vue/images/seuil.jpg

28.6 KiB

app/src/Vue/images/temperature.jpg

26.3 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment