Start the implementation of inputs gathering and the comparator code (still buggy...
[Persons_Comparator.git] / src / PersonView.java
index e703ef3c60b75d5020b87a0dc056ed9e32e0f400..a98c1e7d89796ce7d1078d0b1c202252b261a104 100644 (file)
@@ -2,6 +2,7 @@ import javax.swing.*;
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.util.ArrayList;
 
 public class PersonView extends JPanel implements ActionListener {
     private int width = 400;
@@ -119,6 +120,37 @@ public class PersonView extends JPanel implements ActionListener {
 
     @Override
     public void actionPerformed(ActionEvent actionEvent) {
-
+        //TODO: one can implement a smarter way of getting all inputs values inside the main panel.
+        String firstname = this.getFirstnameView().getTextField().getText();
+        String country = null;
+        if (this.getOriginView().getComboBox().getSelectedIndex() != -1)
+            country = (String) this.getOriginView().getComboBox().getSelectedObjects()[0];
+        Integer size = (Integer) this.getSizeView().getSpinner().getValue();
+        Integer weight = (Integer) this.getWeightView().getComboBox().getSelectedItem();
+        String eye_color = (String) this.getEyeView().getColorsList().getSelectedValue();
+        if (firstname.equals("") || country == null || eye_color == null) {
+            JOptionPane.showMessageDialog(this,
+                    "Some required fields are missing.",
+                    "Error",
+                    JOptionPane.ERROR_MESSAGE);
+        } else {
+            this.getPersonObj().setFirstname(new Firstname(firstname));
+            this.getPersonObj().setOrigin(new Origin(country));
+            this.getPersonObj().setPersonSize(new Size(size));
+            this.getPersonObj().setWeight(new Weight(weight));
+            this.getPersonObj().setEye(new Eye(eye_color));
+            //this.getPersonObj().displayPersonArrayList();
+            ArrayList<Person> personArrayList = this.getPersonObj().getPersonArrayList();
+            personArrayList.add(this.getPersonObj());
+            this.getPersonObj().displayArrayList(personArrayList);
+            personArrayList.sort(getPersonObj());
+            this.getPersonObj().displayArrayList(personArrayList);
+            Integer previousPersonIndex = personArrayList.indexOf(this.getPersonObj()) - 1;
+            Integer nextPersonIndex = personArrayList.indexOf(this.getPersonObj()) + 1;
+            //Person previousPerson = personArrayList.get(personArrayList.indexOf(this.getPersonObj()) - 1);
+            //Person nextPerson = personArrayList.get(personArrayList.indexOf(this.getPersonObj()) + 1);
+            System.out.println(previousPersonIndex);
+            System.out.println(nextPersonIndex);
+        }
     }
 }