Start the implementation of inputs gathering and the comparator code (still buggy...
[Persons_Comparator.git] / src / OriginView.java
index 2402e5fea6232f49326437c443ec1c4b1bb3a611..cef40402ad8f302f6add239ddf8957ca647f77c4 100644 (file)
@@ -1,17 +1,25 @@
 import javax.swing.*;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
 
-public class OriginView extends JComponent {
+public class OriginView extends JPanel implements ItemListener {
     private Origin originObj;
     private JLabel label;
+    private JComboBox<String> comboBox;
+    private JLabel continentLabel;
 
-    OriginView() {
+    OriginView(Origin originObj) {
+        setOriginObj(originObj);
         this.label = new JLabel();
         this.label.setText("Origin");
+        this.comboBox = new JComboBox<>(this.getOriginObj().getCountriesArray());
+        this.comboBox.setSelectedItem(this.getOriginObj().getCountry());
+        this.comboBox.addItemListener(this);
+        this.continentLabel = new JLabel();
+        this.continentLabel.setText("(" + this.getOriginObj().getContinent() + ")");
         add(label);
-    }
-
-    OriginView(Origin originObj) {
-        setOriginObj(originObj);
+        add(comboBox);
+        add(continentLabel);
     }
 
     public Origin getOriginObj() {
@@ -21,4 +29,17 @@ public class OriginView extends JComponent {
     public void setOriginObj(Origin originObj) {
         this.originObj = originObj;
     }
+
+    public JComboBox<String> getComboBox() {
+        return comboBox;
+    }
+
+    @Override
+    public void itemStateChanged(ItemEvent event) {
+        if (event.getStateChange() == ItemEvent.SELECTED) {
+            Object item = event.getItem();
+            getOriginObj().setContinent(getOriginObj().getContinentFromCountry(item.toString()));
+            this.continentLabel.setText("(" + this.getOriginObj().getContinent() + ")");
+        }
+    }
 }