X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FPersonView.java;h=901ce90158131b4f237ed5ca2c96a23a6152235e;hb=9f1e899962a92c9c1b8d3713eca0524964465014;hp=6823579d2bc162a43ea1fc6d1b377a1e43c73fe0;hpb=d252f672e7ed73d9f4e588f855d20f042f2e2df8;p=Persons_Comparator.git diff --git a/src/PersonView.java b/src/PersonView.java index 6823579..901ce90 100644 --- a/src/PersonView.java +++ b/src/PersonView.java @@ -5,12 +5,13 @@ import java.awt.event.ActionListener; import java.util.ArrayList; public class PersonView extends JComponent implements ActionListener { - private int width = 800; - private int height = 500; + private int width = 600; + private int height = 600; private Person personObj; private ArrayList personArrayList; private FirstnameView firstnameView; private OriginView originView; + private RegionView regionView; private SizeView sizeView; private WeightView weightView; private EyeView eyeView; @@ -18,13 +19,14 @@ public class PersonView extends JComponent implements ActionListener { private JPanel southPanel = new JPanel(); private JPanel eastPanel = new JPanel(); private JPanel westPanel = new JPanel(); - private PersonPanel personPanel = new PersonPanel("Person comparison"); + private PersonPanel personPanel = new PersonPanel(); private JButton compareButton = new JButton("Compare"); PersonView(Person personObj, ArrayList personArrayList) { setPersonObj(personObj); - setFirstnameView(new FirstnameView(15, this.personObj.getFirstname())); + setFirstnameView(new FirstnameView(14, this.personObj.getFirstname())); setOriginView(new OriginView(this.personObj.getOrigin())); + setRegionView(new RegionView(new Region())); setSizeView(new SizeView(this.personObj.getPersonSize())); setWeightView(new WeightView(this.personObj.getWeight())); setEyeView(new EyeView(this.personObj.getEye())); @@ -35,14 +37,15 @@ public class PersonView extends JComponent implements ActionListener { northPanel.add(firstnameView); southPanel.setBorder(BorderFactory.createRaisedSoftBevelBorder()); southPanel.add(compareButton); - eastPanel.setLayout(new BoxLayout(this.eastPanel, BoxLayout.Y_AXIS)); + eastPanel.setLayout(new BoxLayout(this.eastPanel, BoxLayout.PAGE_AXIS)); eastPanel.setBorder(BorderFactory.createRaisedSoftBevelBorder()); eastPanel.add(sizeView); eastPanel.add(weightView); eastPanel.add(eyeView); - westPanel.setLayout(new BoxLayout(this.westPanel, BoxLayout.Y_AXIS)); + westPanel.setLayout(new BoxLayout(this.westPanel, BoxLayout.PAGE_AXIS)); westPanel.setBorder(BorderFactory.createRaisedSoftBevelBorder()); - westPanel.add(originView); + //westPanel.add(originView); + westPanel.add(regionView); } public Person getPersonObj() { @@ -81,6 +84,14 @@ public class PersonView extends JComponent implements ActionListener { this.originView = originView; } + public RegionView getRegionView() { + return regionView; + } + + public void setRegionView(RegionView regionView) { + this.regionView = regionView; + } + /** * @return */ @@ -159,20 +170,23 @@ public class PersonView extends JComponent implements ActionListener { 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]; + String countryName = null; + if (this.getRegionView().getTree().getLastSelectedPathComponent() != null) + countryName = this.getRegionView().getTree().getLastSelectedPathComponent().toString(); + /*if (this.getOriginView().getComboBox().getSelectedIndex() != -1) + countryName = (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) { + if (firstname.equals("") || countryName == 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().setOrigin(new Origin(countryName)); + this.getPersonObj().setCountry(new Country(countryName)); this.getPersonObj().setPersonSize(new Size(size)); this.getPersonObj().setWeight(new Weight(weight)); this.getPersonObj().setEye(new Eye(eye_color)); @@ -182,7 +196,8 @@ public class PersonView extends JComponent implements ActionListener { personArrayList.sort(getPersonObj()); //Utils.displayArrayList(personArrayList); Person closestPerson = personArrayList.get(personArrayList.indexOf(this.getPersonObj()) + 1); - personPanel.setContentText(closestPerson.toString()); + personPanel.setRightContentText(closestPerson.getFirstname().getFirstname() + " at distance " + closestPerson.getDistanceFromReference()); + personPanel.getRightPanel().drawPerson(closestPerson); } } }