Skip to content
Snippets Groups Projects
Commit 8547fcd3 authored by Kevin Thaller's avatar Kevin Thaller
Browse files

add StudentStats Screen + Controller

parent b01dbc51
No related branches found
No related tags found
No related merge requests found
......@@ -4,12 +4,10 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="ce56effb-683b-43e9-9335-7e3aa5d26c29" name="Changes" comment="created new window for student courses and grades">
<list default="true" id="ce56effb-683b-43e9-9335-7e3aa5d26c29" name="Changes" comment="small bugfix in modification option">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/de/thdeg/grademanager/gui/StudentCoursesGradesController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/de/thdeg/grademanager/gui/StudentCoursesGradesController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/de/thdeg/grademanager/gui/StudentDetailsController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/de/thdeg/grademanager/gui/StudentDetailsController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/de/thdeg/grademanager/gui/student-courses-grades.fxml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/de/thdeg/grademanager/gui/student-courses-grades.fxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/de/thdeg/grademanager/gui/student-details.fxml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/de/thdeg/grademanager/gui/student-details.fxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/de/thdeg/grademanager/gui/StudentStatsController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/de/thdeg/grademanager/gui/StudentStatsController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/de/thdeg/grademanager/gui/student-stats.fxml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/de/thdeg/grademanager/gui/student-stats.fxml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
......
......@@ -5,15 +5,17 @@ import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.geometry.Side;
import javafx.scene.chart.PieChart;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.paint.Paint;
import javafx.scene.text.Text;
import java.io.IOException;
public class StudentStatsController {
private static String[] colors = {"#57bf08", "#fc0303", "#860061"};
private static Student student;
......@@ -25,47 +27,56 @@ public class StudentStatsController {
@FXML
protected Text headLine;
@FXML
protected Label name;
@FXML
protected Label studentId;
protected TextField studentId;
@FXML
protected Label courseOfStudy;
protected TextField courseOfStudy;
@FXML
protected Label semester;
protected TextField semester;
@FXML
protected PieChart statsDiagram;
@FXML
protected void initialize() {
ObservableList<PieChart.Data> data = FXCollections.observableArrayList(
new PieChart.Data("Bestanden",50.0),
new PieChart.Data("Offen", 40.0),
new PieChart.Data("Durchgefallen",10.0)
);
statsDiagram.setData(data);
statsDiagram.setLegendSide(Side.RIGHT);
statsDiagram.setLegendVisible(true);
statsDiagram.setLabelsVisible(true);
if (student != null){
headLine.setText("Notenblatt "+student.getFirstName()+" "+student.getLastName());
}
@FXML
protected Label passedExams;
@FXML
protected Label failedExams;
@FXML
protected Label openExams;
@FXML
protected void initialize() {
Label[] labels = {passedExams, failedExams, openExams};
int[] examValues = {50,40,10};
if (student != null) {
headLine.setText("Notenblatt " + student.getFirstName() + " " + student.getLastName());
ObservableList<PieChart.Data> examStatusPieChart = FXCollections.observableArrayList(
new PieChart.Data("Bestanden", 50.0),
new PieChart.Data("Offen", 40.0),
new PieChart.Data("Durchgefallen", 10.0)
);
statsDiagram.setData(examStatusPieChart);
for (int i = 0; i < examStatusPieChart.size(); i++) {
examStatusPieChart.get(i).getNode().setStyle("-fx-pie-color: " + colors[i] + ";");
labels[i].setTextFill(Paint.valueOf(colors[i]));
labels[i].setText(labels[i].getText()+" "+examValues[i]);
}
courseOfStudy.setText(student.getCoursesOfStudy().getName());
semester.setText(Integer.toString(student.getSemester()));
studentId.setText(Integer.toString(student.getId()));
}
}
@FXML
protected void switchToMain(ActionEvent event) throws IOException {
SwitchWindowHelper.switchTo("Main", event);
......
......@@ -51,29 +51,29 @@
<children>
<ListView prefHeight="299.0" prefWidth="200.0" />
<Region prefHeight="26.0" prefWidth="139.0" />
<PieChart fx:id="statsDiagram" disable="true" labelLineLength="500.0" legendSide="RIGHT" prefHeight="757.0" prefWidth="200.0" title="Prüfungen" titleSide="BOTTOM" />
<VBox alignment="CENTER_LEFT">
<children>
<PieChart fx:id="statsDiagram" disable="true" labelLineLength="500.0" labelsVisible="false" legendSide="RIGHT" legendVisible="false" prefHeight="684.0" prefWidth="200.0" title="Prüfungen" />
<Label fx:id="passedExams" text="• Bestanden: ">
<font>
<Font name="System Bold" size="14.0" />
</font></Label>
<Label fx:id="failedExams" layoutX="10.0" layoutY="160.0" text="• Durchgefallen:">
<font>
<Font name="System Bold" size="14.0" />
</font></Label>
<Label fx:id="openExams" layoutX="10.0" layoutY="177.0" text="• Offen:">
<font>
<Font name="System Bold" size="14.0" />
</font></Label>
</children>
</VBox>
</children>
</HBox>
<HBox layoutX="10.0" layoutY="50.0" prefHeight="100.0" prefWidth="200.0" />
<HBox alignment="CENTER" prefHeight="38.0" prefWidth="600.0">
<HBox alignment="CENTER" prefHeight="116.0" prefWidth="600.0">
<children>
<Label fx:id="studentId" text="Nachname">
<HBox.margin>
<Insets left="25.0" />
</HBox.margin>
<font>
<Font size="14.0" />
</font>
</Label>
<Region prefHeight="26.0" prefWidth="126.0" />
</children>
<opaqueInsets>
<Insets />
</opaqueInsets>
</HBox>
<HBox alignment="CENTER" prefHeight="38.0" prefWidth="27.0">
<children>
<Label fx:id="courseOfStudy" text="Studiengang">
<Label text="Studiengang:">
<HBox.margin>
<Insets left="25.0" />
</HBox.margin>
......@@ -81,12 +81,13 @@
<Font size="14.0" />
</font>
</Label>
<Region prefHeight="26.0" prefWidth="118.0" />
<Region prefHeight="0.0" prefWidth="118.0" />
<TextField fx:id="courseOfStudy" alignment="CENTER" disable="true" editable="false" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="38.0" prefWidth="600.0">
<HBox alignment="CENTER" prefHeight="115.0" prefWidth="600.0">
<children>
<Label fx:id="semester" text="Semester">
<Label text="Semester:">
<HBox.margin>
<Insets left="25.0" />
</HBox.margin>
......@@ -94,12 +95,13 @@
<Font size="14.0" />
</font>
</Label>
<Region prefHeight="26.0" prefWidth="141.0" />
<Region prefHeight="637.0" prefWidth="141.0" />
<TextField fx:id="semester" alignment="CENTER" disable="true" editable="false" />
</children>
</HBox>
<HBox alignment="CENTER" prefHeight="38.0" prefWidth="600.0">
<HBox alignment="CENTER" prefHeight="115.0" prefWidth="600.0">
<children>
<Label text="Matrikel-Nr.">
<Label contentDisplay="CENTER" text="Matrikel-Nr.:">
<HBox.margin>
<Insets left="25.0" />
</HBox.margin>
......@@ -108,11 +110,13 @@
</font>
</Label>
<Region prefHeight="26.0" prefWidth="126.0" />
<TextField fx:id="studentId" alignment="CENTER" disable="true" editable="false" />
</children>
<opaqueInsets>
<Insets />
</opaqueInsets>
</HBox>
<HBox layoutX="10.0" layoutY="288.0" prefHeight="100.0" prefWidth="200.0" />
</children>
</VBox>
</center>
......
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