aboutsummaryrefslogtreecommitdiff
path: root/src/com.example.portfolio2/com/example/portfolio2/HelloApplication.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com.example.portfolio2/com/example/portfolio2/HelloApplication.java')
-rw-r--r--src/com.example.portfolio2/com/example/portfolio2/HelloApplication.java274
1 files changed, 137 insertions, 137 deletions
diff --git a/src/com.example.portfolio2/com/example/portfolio2/HelloApplication.java b/src/com.example.portfolio2/com/example/portfolio2/HelloApplication.java
index eb4b49d..2d8c7b2 100644
--- a/src/com.example.portfolio2/com/example/portfolio2/HelloApplication.java
+++ b/src/com.example.portfolio2/com/example/portfolio2/HelloApplication.java
@@ -13,141 +13,141 @@ import java.io.IOException;
import java.util.List;
public class HelloApplication extends Application {
- // Initializing model, controller and database objects
- private Model model = new Model();
- private Controller con = new Controller(model,this);
- MyDB myDB = new MyDB();
-
- /* Below is the original implementation of the UI elements with
- accompanying, individual calls to setOnAction to specify functionality.
- Before changing to a list format,
- we made sure methods in controller and model
- were generalized to allow for the new structure seamlessly.
- private ComboBox<String> programCombo = new ComboBox<>();
- private ComboBox<String> subject1Combo = new ComboBox<>();
- private ComboBox<String> subject2Combo = new ComboBox<>();
- private ComboBox<String> electiveCombo = new ComboBox<>();
-
- private ComboBox<String> programSelect = new ComboBox<>();
- private ComboBox<String> subject1Select = new ComboBox<>();
- private ComboBox<String> subject2Select = new ComboBox<>();
- private ComboBox<String> electiveSelect = new ComboBox<>();
-
- private TextArea programArea = new TextArea();
- private TextArea subject1Area = new TextArea();
- private TextArea subject2Area = new TextArea();
- private TextArea electiveArea = new TextArea();
-
- private Label programEcts = new Label();
- private Label subject1Ects = new Label();
- private Label subject2Ects = new Label();
- private Label electiveEcts = new Label();
-
- private VBox program = new VBox(new Label("Program"), programCombo, programSelect, programArea, programEcts);
- private VBox subject1 = new VBox(new Label("Subject 1"), subject1Combo, subject1Select, subject1Area, subject1Ects);
- private VBox subject2 = new VBox(new Label("Subject 2"), subject2Combo, subject2Select, subject2Area, subject2Ects);
- private VBox elective = new VBox(new Label("Elective"), electiveCombo, electiveSelect, electiveArea, electiveEcts);
- */
-
- @Override
- public void start(Stage stage) throws IOException {
- // Clears old insertions into the participation table
- con.initialize();
-
- // Defines a list of columns based on their names.
- List<ActivityColumn> columns = List.of(
- new ActivityColumn("Program"),
- new ActivityColumn("Subject 1"),
- new ActivityColumn("Subject 2"),
- new ActivityColumn("Elective")
- );
-
- // Defines a list of subject modules
- List<String> subjectModules = List.of("Computer Science", "Informatik", "Astrology");
-
- // Loop for defining button funtionality for each activity column
- for (ActivityColumn col : columns) {
- col.nameLabel.setStyle("-fx-font-size: 18px; -fx-padding: 10px;"); // Styling
- col.ectsLabel.setStyle("-fx-font-size: 18px; -fx-padding: 10px");
- col.categoryCombo.setPrefSize(250, 35);
- col.activitySelect.setPrefSize(250, 35);
- col.area.setPrefWidth(250);
-
- // All boxes share the same activity logic
- col.activitySelect.setOnAction(event -> {
- con.onActivitySelected(col.categoryCombo, col.activitySelect, col.area);
- con.updateEcts(col.ectsLabel, col.categoryCombo);
- });
-
- switch (col.name) { // Switch statement handles different category boxes
- case "Program" -> {
- col.categoryCombo.getItems().addAll("HumTek", "NatBach");
- col.categoryCombo.setOnAction(event -> {
- con.onComboSelected(col.categoryCombo, col.activitySelect, col.area);
- });
- }
- case "Subject 1" -> { // We considered using the list for filling the box but couldn't figure it out
- col.categoryCombo.getItems().addAll("Computer Science", "Informatik", "Astrology");
- col.categoryCombo.setOnAction(event -> {
- con.onSubjectModuleSelected(col.categoryCombo, columns.get(2).categoryCombo, subjectModules);
- con.onComboSelected(col.categoryCombo, col.activitySelect, col.area);
- });
- }
- case "Subject 2" -> {
- col.categoryCombo.getItems().addAll("Computer Science", "Informatik", "Astrology");
- col.categoryCombo.setOnAction(event -> { // We figured we have to specify
- // the second column like this but reckon there's a better way.
- con.onSubjectModuleSelected(col.categoryCombo, columns.get(1).categoryCombo, subjectModules);
- con.onComboSelected(col.categoryCombo, col.activitySelect, col.area);
- });
- }
- case "Elective" -> {
- col.categoryCombo.setVisible(false); // Hide useless box
- con.fillElective(col.activitySelect);
- }
- }
- }
-
- // Define an HBox based on the columns and define the scene based on it.
- HBox root = new HBox(columns.get(0).asVBox(), columns.get(1).asVBox(), columns.get(2).asVBox(), columns.get(3).asVBox());
- Scene scene = new Scene(root, 1000, 500);
- stage.setTitle("Course Selector RUC: Ultimate Deluxe Edition");
- stage.setScene(scene);
- stage.show();
- }
-
- public static void main(String[] args) {
- launch();
- }
-
- // Class for each column of activities
- private class ActivityColumn {
- // Each column contains these elements
- String name;
- Label nameLabel;
- ComboBox<String> categoryCombo;
- ComboBox<String> activitySelect;
- TextArea area;
- Label ectsLabel;
-
- ActivityColumn(String name) {
- this.name = name;
- nameLabel = new Label(name);
- categoryCombo = new ComboBox<>();
- activitySelect = new ComboBox<>();
- area = new TextArea();
- ectsLabel = new Label();
- // new column, "this.name" to define and saved in the text felt,
- // new "nameLabel" to show visual text.
- // CategoryCombo creat a dropdown list
- // activitySelect creat one more dropdown list with Combobox, possible to choose activity.
- // area = new TextArea helps create a text felt to describe the chosen activity
- // ectsLabel = new Label shows text for ects points
-
- }
-
- VBox asVBox() {
- return new VBox(nameLabel, categoryCombo, activitySelect, area, ectsLabel);
- }
- }
+ // Initializing model, controller and database objects
+ private Model model = new Model();
+ private Controller con = new Controller(model,this);
+ MyDB myDB = new MyDB();
+
+ /* Below is the original implementation of the UI elements with
+ accompanying, individual calls to setOnAction to specify functionality.
+ Before changing to a list format,
+ we made sure methods in controller and model
+ were generalized to allow for the new structure seamlessly.
+ private ComboBox<String> programCombo = new ComboBox<>();
+ private ComboBox<String> subject1Combo = new ComboBox<>();
+ private ComboBox<String> subject2Combo = new ComboBox<>();
+ private ComboBox<String> electiveCombo = new ComboBox<>();
+
+ private ComboBox<String> programSelect = new ComboBox<>();
+ private ComboBox<String> subject1Select = new ComboBox<>();
+ private ComboBox<String> subject2Select = new ComboBox<>();
+ private ComboBox<String> electiveSelect = new ComboBox<>();
+
+ private TextArea programArea = new TextArea();
+ private TextArea subject1Area = new TextArea();
+ private TextArea subject2Area = new TextArea();
+ private TextArea electiveArea = new TextArea();
+
+ private Label programEcts = new Label();
+ private Label subject1Ects = new Label();
+ private Label subject2Ects = new Label();
+ private Label electiveEcts = new Label();
+
+ private VBox program = new VBox(new Label("Program"), programCombo, programSelect, programArea, programEcts);
+ private VBox subject1 = new VBox(new Label("Subject 1"), subject1Combo, subject1Select, subject1Area, subject1Ects);
+ private VBox subject2 = new VBox(new Label("Subject 2"), subject2Combo, subject2Select, subject2Area, subject2Ects);
+ private VBox elective = new VBox(new Label("Elective"), electiveCombo, electiveSelect, electiveArea, electiveEcts);
+ */
+
+ @Override
+ public void start(Stage stage) throws IOException {
+ // Clears old insertions into the participation table
+ con.initialize();
+
+ // Defines a list of columns based on their names.
+ List<ActivityColumn> columns = List.of(
+ new ActivityColumn("Program"),
+ new ActivityColumn("Subject 1"),
+ new ActivityColumn("Subject 2"),
+ new ActivityColumn("Elective")
+ );
+
+ // Defines a list of subject modules
+ List<String> subjectModules = List.of("Computer Science", "Informatik", "Astrology");
+
+ // Loop for defining button funtionality for each activity column
+ for (ActivityColumn col : columns) {
+ col.nameLabel.setStyle("-fx-font-size: 18px; -fx-padding: 10px;"); // Styling
+ col.ectsLabel.setStyle("-fx-font-size: 18px; -fx-padding: 10px");
+ col.categoryCombo.setPrefSize(250, 35);
+ col.activitySelect.setPrefSize(250, 35);
+ col.area.setPrefWidth(250);
+
+ // All boxes share the same activity logic
+ col.activitySelect.setOnAction(event -> {
+ con.onActivitySelected(col.categoryCombo, col.activitySelect, col.area);
+ con.updateEcts(col.ectsLabel, col.categoryCombo);
+ });
+
+ switch (col.name) { // Switch statement handles different category boxes
+ case "Program" -> {
+ col.categoryCombo.getItems().addAll("HumTek", "NatBach");
+ col.categoryCombo.setOnAction(event -> {
+ con.onComboSelected(col.categoryCombo, col.activitySelect, col.area);
+ });
+ }
+ case "Subject 1" -> { // We considered using the list for filling the box but couldn't figure it out
+ col.categoryCombo.getItems().addAll("Computer Science", "Informatik", "Astrology");
+ col.categoryCombo.setOnAction(event -> {
+ con.onSubjectModuleSelected(col.categoryCombo, columns.get(2).categoryCombo, subjectModules);
+ con.onComboSelected(col.categoryCombo, col.activitySelect, col.area);
+ });
+ }
+ case "Subject 2" -> {
+ col.categoryCombo.getItems().addAll("Computer Science", "Informatik", "Astrology");
+ col.categoryCombo.setOnAction(event -> { // We figured we have to specify
+ // the second column like this but reckon there's a better way.
+ con.onSubjectModuleSelected(col.categoryCombo, columns.get(1).categoryCombo, subjectModules);
+ con.onComboSelected(col.categoryCombo, col.activitySelect, col.area);
+ });
+ }
+ case "Elective" -> {
+ col.categoryCombo.setVisible(false); // Hide useless box
+ con.fillElective(col.activitySelect);
+ }
+ }
+ }
+
+ // Define an HBox based on the columns and define the scene based on it.
+ HBox root = new HBox(columns.get(0).asVBox(), columns.get(1).asVBox(), columns.get(2).asVBox(), columns.get(3).asVBox());
+ Scene scene = new Scene(root, 1000, 500);
+ stage.setTitle("Course Selector RUC: Ultimate Deluxe Edition");
+ stage.setScene(scene);
+ stage.show();
+ }
+
+ public static void main(String[] args) {
+ launch();
+ }
+
+ // Class for each column of activities
+ private class ActivityColumn {
+ // Each column contains these elements
+ String name;
+ Label nameLabel;
+ ComboBox<String> categoryCombo;
+ ComboBox<String> activitySelect;
+ TextArea area;
+ Label ectsLabel;
+
+ ActivityColumn(String name) {
+ this.name = name;
+ nameLabel = new Label(name);
+ categoryCombo = new ComboBox<>();
+ activitySelect = new ComboBox<>();
+ area = new TextArea();
+ ectsLabel = new Label();
+ // new column, "this.name" to define and saved in the text felt,
+ // new "nameLabel" to show visual text.
+ // CategoryCombo creat a dropdown list
+ // activitySelect creat one more dropdown list with Combobox, possible to choose activity.
+ // area = new TextArea helps create a text felt to describe the chosen activity
+ // ectsLabel = new Label shows text for ects points
+
+ }
+
+ VBox asVBox() {
+ return new VBox(nameLabel, categoryCombo, activitySelect, area, ectsLabel);
+ }
+ }
}