import java.awt.event.ActionListener;
import java.util.ArrayList;
-public class PersonView extends JPanel implements ActionListener {
- private int width = 400;
+public class PersonView extends JComponent implements ActionListener {
+ private int width = 600;
private int height = 600;
private Person personObj;
+ private ArrayList<Person> personArrayList;
private FirstnameView firstnameView;
private OriginView originView;
+ private RegionView regionView;
private SizeView sizeView;
private WeightView weightView;
private EyeView eyeView;
- private JPanel personPanel = new JPanel();
+ private JPanel northPanel = new JPanel();
+ private JPanel southPanel = new JPanel();
+ private JPanel eastPanel = new JPanel();
+ private JPanel westPanel = new JPanel();
+ private PersonPanel personPanel = new PersonPanel();
private JButton compareButton = new JButton("Compare");
- /*private ImageIcon originImage;
- private ImageIcon personImage;*/
- PersonView(Person personObj) {
+ PersonView(Person personObj, ArrayList<Person> 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()));
+ setPersonArrayList(personArrayList);
this.compareButton.addActionListener(this);
- JLabel personLabel = new JLabel("Closest person found");
- personPanel.add(personLabel);
- setPreferredSize(new Dimension(this.width, this.height));
- setLayout(new GridLayout(7, 1, 0, 4));
- add(firstnameView);
- add(originView);
- add(sizeView);
- add(weightView);
- add(eyeView);
- add(compareButton);
- add(personPanel);
+ northPanel.setBorder(BorderFactory.createRaisedSoftBevelBorder());
+ northPanel.add(firstnameView);
+ southPanel.setBorder(BorderFactory.createRaisedSoftBevelBorder());
+ southPanel.add(compareButton);
+ 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.PAGE_AXIS));
+ westPanel.setBorder(BorderFactory.createRaisedSoftBevelBorder());
+ //westPanel.add(originView);
+ westPanel.add(regionView);
}
public Person getPersonObj() {
this.originView = originView;
}
+ public void setRegionView(RegionView regionView) {
+ this.regionView = regionView;
+ }
+
+
/**
* @return
*/
this.weightView = weightView;
}
+ /**
+ * @return
+ */
+ public EyeView getEyeView() {
+ return eyeView;
+ }
+
/**
* @param eyeView
*/
this.eyeView = eyeView;
}
- /**
- * @return
- */
- public EyeView getEyeView() {
- return eyeView;
+ public ArrayList<Person> getPersonArrayList() {
+ return personArrayList;
+ }
+
+ public void setPersonArrayList(ArrayList<Person> personArrayList) {
+ this.personArrayList = personArrayList;
+ }
+
+ public Dimension getDimension() {
+ return new Dimension(this.width, this.height);
+ }
+
+ public JPanel getNorthPanel() {
+ return northPanel;
+ }
+
+ public JPanel getSouthPanel() {
+ return southPanel;
+ }
+
+ public JPanel getEastPanel() {
+ return eastPanel;
+ }
+
+ public JPanel getWestPanel() {
+ return westPanel;
+ }
+
+ public PersonPanel getPersonPanel() {
+ return personPanel;
}
@Override
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);
+ ArrayList<Person> personArrayList = this.getPersonArrayList();
+ //Utils.displayArrayList(personArrayList);
+ Utils.computeDistanceFrom(getPersonObj(), 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);
+ //Utils.displayArrayList(personArrayList);
+ Person closestPerson = personArrayList.get(personArrayList.indexOf(this.getPersonObj()) + 1);
+ personPanel.setRightContentText(closestPerson.getFirstname().getFirstname() + " at distance " + closestPerson.getDistanceFromReference());
+ personPanel.getRightPanel().drawPerson(closestPerson);
}
}
}