From 36d5ea556d610740a117612e4548510c155ad22e Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Mon, 30 Nov 2015 22:15:59 +0100 Subject: Extract calculations and extend scale --- .../notepadMinusMinus/view/MainViewController.java | 53 +++++++++++++--------- 1 file changed, 31 insertions(+), 22 deletions(-) (limited to 'src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainViewController.java') diff --git a/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainViewController.java b/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainViewController.java index b4a37d7..0e870a5 100644 --- a/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainViewController.java +++ b/src/de/fhswf/in/inf/se/notepadMinusMinus/view/MainViewController.java @@ -139,28 +139,8 @@ public class MainViewController colloquiumComboBox.valueProperty() .bindBidirectional(main.getGradesObject().thesisProperty()); - gradeTable.getItems().addListener((Change change) -> { - ectsSumLabel.setText("0"); - averageGradeLabel.setText("0.0"); - int sumEcts = 0; - BigDecimal gradesSumWeighted = BigDecimal.ZERO; - for (Grade grade : gradeTable.getItems()) - { - if (grade.getGrade().compareTo(BigDecimal.ZERO) != 0) - { - sumEcts += grade.getEcts(); - gradesSumWeighted = gradesSumWeighted.add(grade.getGrade() - .multiply(new BigDecimal(grade.getEcts()))); - } - } - if (sumEcts > 0) - { - ectsSumLabel.setText(String.valueOf(sumEcts)); - averageGradeLabel.setText(gradesSumWeighted - .divide(new BigDecimal(sumEcts), 2, RoundingMode.HALF_UP) - .toString()); - } - }); + gradeTable.getItems().addListener(( + Change change) -> calculateEctsAndAverageGrade()); } /** @@ -308,4 +288,33 @@ public class MainViewController { Platform.exit(); } + + /** + * TODO Add method comment here + * + * @param main + */ + private void calculateEctsAndAverageGrade() + { + ectsSumLabel.setText("0"); + averageGradeLabel.setText("0.00"); + int sumEcts = 0; + BigDecimal gradesSumWeighted = BigDecimal.ZERO; + for (Grade grade : gradeTable.getItems()) + { + if (grade.getGrade().compareTo(BigDecimal.ZERO) != 0) + { + sumEcts += grade.getEcts(); + gradesSumWeighted = gradesSumWeighted.add( + grade.getGrade().multiply(new BigDecimal(grade.getEcts()))); + } + } + if (sumEcts > 0) + { + ectsSumLabel.setText(String.valueOf(sumEcts)); + averageGradeLabel.setText(gradesSumWeighted + .divide(new BigDecimal(sumEcts), 2, RoundingMode.HALF_UP) + .toString()); + } + } } -- cgit v1.2.3-70-g09d2