X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FOriginView.java;fp=src%2FOriginView.java;h=c347bf93c1d24f33c0bda8967435d16fefc43335;hb=c8da8eb79910c7ea33dc2970ebd8d1d1db234a89;hp=a5df1ad987e4e353ad939763d51856f2c1f0bfc0;hpb=bb6c655ae5fafc833209b3950b3e69e8f539a42a;p=Persons_Comparator.git diff --git a/src/OriginView.java b/src/OriginView.java index a5df1ad..c347bf9 100644 --- a/src/OriginView.java +++ b/src/OriginView.java @@ -1,10 +1,11 @@ import javax.swing.*; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; -public class OriginView extends JPanel { +public class OriginView extends JPanel implements ItemListener { private Origin originObj; private JLabel label; private JComboBox comboBox; - //FIXME: this label should be refreshed on country selection. private JLabel continentLabel; OriginView(Origin originObj) { @@ -13,6 +14,7 @@ public class OriginView extends JPanel { 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); @@ -27,4 +29,13 @@ public class OriginView extends JPanel { public void setOriginObj(Origin originObj) { this.originObj = originObj; } + + @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() + ")"); + } + } }