package de.fhswf.in.inf.se.notepadMinusMinus.view; import java.math.BigDecimal; import de.fhswf.in.inf.se.notepadMinusMinus.Main; import de.fhswf.in.inf.se.notepadMinusMinus.model.Grade; import javafx.fxml.FXML; import javafx.scene.control.ComboBox; import javafx.scene.control.Label; import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.cell.ComboBoxTableCell; import javafx.scene.control.cell.TextFieldTableCell; import javafx.util.converter.IntegerStringConverter; public class MainViewController { @FXML private TableView gradeTable; @FXML private TableColumn semesterColumn; @FXML private TableColumn modulenameColumn; @FXML private TableColumn ectsColumn; @FXML private TableColumn gradeColumn; @FXML private TableColumn attemptColumn; @FXML private Label ectsSumLabel; @FXML private Label averageNoteLabel; @FXML private ComboBox colloquiumComboBox; @FXML private ComboBox thesisComboBox; @FXML private void initialize() { semesterColumn.setCellValueFactory( cellData -> cellData.getValue().semesterProperty().asObject()); semesterColumn.setCellFactory( TextFieldTableCell.forTableColumn(new IntegerStringConverter())); semesterColumn.setOnEditCommit(data -> { data.getRowValue().setSemester(data.getNewValue()); }); modulenameColumn.setCellValueFactory( cellData -> cellData.getValue().modulenameProperty()); modulenameColumn.setCellFactory(TextFieldTableCell.forTableColumn()); modulenameColumn.setOnEditCommit(data -> { data.getRowValue().setModulename(data.getNewValue()); }); ectsColumn.setCellValueFactory( cellData -> cellData.getValue().ectsProperty().asObject()); ectsColumn.setCellFactory( TextFieldTableCell.forTableColumn(new IntegerStringConverter())); ectsColumn.setOnEditCommit(data -> { data.getRowValue().setEcts(data.getNewValue()); }); gradeColumn.setCellValueFactory( cellData -> cellData.getValue().gradeProperty()); gradeColumn.setCellFactory( ComboBoxTableCell.forTableColumn(Grade.gradeValuesProperty())); gradeColumn.setOnEditCommit(data -> { data.getRowValue().setGrade(data.getNewValue()); }); attemptColumn.setCellValueFactory( cellData -> cellData.getValue().semesterProperty().asObject()); attemptColumn.setCellFactory( TextFieldTableCell.forTableColumn(new IntegerStringConverter())); attemptColumn.setOnEditCommit(data -> { data.getRowValue().setAttempt(data.getNewValue()); }); } public void setMain(Main main) { gradeTable.setItems(main.getGradeList()); } @FXML private void handleNew() { Grade grade = new Grade(); gradeTable.getItems().add(grade); } }