Start the implementation of inputs gathering and the comparator code (still buggy...
[Persons_Comparator.git] / src / OriginView.java
index 695a90cc53b7e41e9d53c50d4c770a91c36fb62d..cef40402ad8f302f6add239ddf8957ca647f77c4 100644 (file)
@@ -1,14 +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(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);
+        add(comboBox);
+        add(continentLabel);
     }
 
     public Origin getOriginObj() {
@@ -18,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() + ")");
+        }
+    }
 }