Properly add all view JComponents to the JPanel in the main JFrame.
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Wed, 9 Jan 2019 14:38:41 +0000 (15:38 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Wed, 9 Jan 2019 14:38:41 +0000 (15:38 +0100)
And implement one view properly.

Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
src/Eye.java
src/EyeView.java
src/FirstnameView.java
src/LevenshteinDistance.java
src/MainWindowsView.java
src/OriginView.java
src/PersonView.java
src/SizeView.java
src/WeightView.java

index c3b836d0046eccc52afc27217ef72b379df51ec9..6edc8a563d99af95b373270e2936592551bcf2c7 100644 (file)
@@ -7,7 +7,6 @@ public class Eye implements Comparable<Eye> {
     private List<String> colorList = Arrays.asList("black", "green", "blue", "brown");
 
     /**
-     *
      * @param color
      */
     Eye(String color) {
@@ -15,7 +14,6 @@ public class Eye implements Comparable<Eye> {
     }
 
     /**
-     *
      * @return
      */
     public Color getColor() {
@@ -23,7 +21,6 @@ public class Eye implements Comparable<Eye> {
     }
 
     /**
-     *
      * @param color
      */
     public void setColor(String color) {
@@ -39,7 +36,6 @@ public class Eye implements Comparable<Eye> {
     }
 
     /**
-     *
      * @param color
      * @return
      */
@@ -48,7 +44,6 @@ public class Eye implements Comparable<Eye> {
     }
 
     /**
-     *
      * @param eye
      * @return
      */
index 38664936de7d52df01382c8e7fab7ff980a3a969..8fbad2603d11a629691351c76e7fceb7d5e09099 100644 (file)
@@ -1,8 +1,12 @@
-public class EyeView {
+import javax.swing.*;
+
+public class EyeView extends JComponent {
     private Eye eyeObj;
 
+    EyeView() {
+    }
+
     /**
-     *
      * @param eyeObj
      */
     EyeView(Eye eyeObj) {
@@ -10,7 +14,6 @@ public class EyeView {
     }
 
     /**
-     *
      * @return
      */
     public Eye getEyeObj() {
@@ -18,7 +21,6 @@ public class EyeView {
     }
 
     /**
-     *
      * @param eyeObj
      */
     public void setEyeObj(Eye eyeObj) {
index 18323cfe474ec86392cf064e85bd1fc965d447fc..e9c387baa50ec142367facc28972e5c83820ba5c 100644 (file)
@@ -1,8 +1,16 @@
-public class FirstnameView {
+import javax.swing.*;
+
+public class FirstnameView extends JComponent {
     private Firstname firstnameObj;
+    private JTextField textField;
+    private JLabel label;
 
-    FirstnameView(Firstname firstnameObj) {
-        setFirstnameObj(firstnameObj);
+    FirstnameView(int length) {
+        this.label = new JLabel();
+        this.label.setText("Firstname");
+        this.textField = new JTextField(length);
+        add(label);
+        add(textField);
     }
 
     public Firstname getFirstnameObj() {
index 6a566505448be9cd4d868a90b282f56d41316143..3706772f01de3bfeef93f0fd1abd6ff3f6d48773 100644 (file)
@@ -1,7 +1,6 @@
 
 public class LevenshteinDistance {
     /**
-     *
      * @param a
      * @param b
      * @param c
@@ -12,7 +11,6 @@ public class LevenshteinDistance {
     }
 
     /**
-     *
      * @param lhs
      * @param rhs
      * @return
index f4f837f6bbea7f512696dc7f5e1df9daa356caee..065c90d8050f0deb9203ce7733bb26b49b64c029 100644 (file)
@@ -1,18 +1,32 @@
 import javax.swing.*;
+import java.awt.*;
+import java.util.ArrayList;
 
 public class MainWindowsView extends JFrame {
     MainWindowsView(String title) {
         //Create and set up the window.
         setTitle(title);
+        setSize(300, 300);
+        setLocationRelativeTo(null);
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
         JPanel panel = new PersonView();
 
-        //TODO: Add content to the panel
-        //JLabel label = new JLabel("Hello World");
-        //panel.add(label);
+        //Get all Swing/AWT primitive components in the views and add them to the panel.
+        ArrayList<Component> components = new ArrayList<>();
+        for (int i = 0; i < panel.getComponentCount(); i++) {
+            if ((panel.getComponent(i) instanceof Container)) {
+                Container subContainer = (Container) panel.getComponent(i);
+                for (int j = 0; j < subContainer.getComponentCount(); j++) {
+                    components.add(subContainer.getComponent(j));
+                }
+            }
+        }
+        for (Component component : components) {
+            panel.add(component);
+        }
 
-        getContentPane().add(panel);
+        setContentPane(panel);
     }
 
     /**
@@ -23,7 +37,7 @@ public class MainWindowsView extends JFrame {
     public void showGUI() {
 
         //Display the window.
-        this.pack();
+        //this.pack();
         this.setVisible(true);
     }
 
index 58dec5d18477301742624be2325ca961576eca92..2fc4189df734149123d81aba4f2ed3a0c491190e 100644 (file)
@@ -1,6 +1,11 @@
-public class OriginView {
+import javax.swing.*;
+
+public class OriginView extends JComponent {
     private Origin originObj;
 
+    OriginView() {
+    }
+
     OriginView(Origin originObj) {
         setOriginObj(originObj);
     }
index 9621e47905162246e6e9a3de1a3b83a6ec0663be..a328f4797cec544983318d873bfa18c079b02352 100644 (file)
@@ -8,7 +8,17 @@ public class PersonView extends JPanel {
     private EyeView eyeView;
 
     PersonView() {
+        setFirstnameView(new FirstnameView(10));
+        setOriginView(new OriginView());
+        setSizeView(new SizeView());
+        setWeightView(new WeightView());
+        setEyeView(new EyeView());
 
+        add(firstnameView);
+        add(originView);
+        add(sizeView);
+        add(weightView);
+        add(eyeView);
     }
 
     PersonView(FirstnameView firstnameView, OriginView originView, SizeView sizeView, WeightView weightView, EyeView eyeView) {
@@ -20,7 +30,6 @@ public class PersonView extends JPanel {
     }
 
     /**
-     *
      * @return
      */
     public FirstnameView getFirstnameView() {
@@ -28,7 +37,6 @@ public class PersonView extends JPanel {
     }
 
     /**
-     *
      * @param firstnameView
      */
     public void setFirstnameView(FirstnameView firstnameView) {
@@ -36,7 +44,6 @@ public class PersonView extends JPanel {
     }
 
     /**
-     *
      * @return
      */
     public OriginView getOriginView() {
@@ -44,7 +51,6 @@ public class PersonView extends JPanel {
     }
 
     /**
-     *
      * @param originView
      */
     public void setOriginView(OriginView originView) {
@@ -52,7 +58,6 @@ public class PersonView extends JPanel {
     }
 
     /**
-     *
      * @return
      */
     public SizeView getSizeView() {
@@ -60,7 +65,6 @@ public class PersonView extends JPanel {
     }
 
     /**
-     *
      * @param sizeView
      */
     public void setSizeView(SizeView sizeView) {
@@ -68,7 +72,6 @@ public class PersonView extends JPanel {
     }
 
     /**
-     *
      * @return
      */
     public WeightView getWeightView() {
@@ -76,7 +79,6 @@ public class PersonView extends JPanel {
     }
 
     /**
-     *
      * @param weightView
      */
     public void setWeightView(WeightView weightView) {
@@ -84,7 +86,6 @@ public class PersonView extends JPanel {
     }
 
     /**
-     *
      * @param eyeView
      */
     public void setEyeView(EyeView eyeView) {
@@ -92,7 +93,6 @@ public class PersonView extends JPanel {
     }
 
     /**
-     *
      * @return
      */
     public EyeView getEyeView() {
index 4e7e4a059ad8c674fd4554555288e2e9af9ca7ef..1d280c5c76c7bab68a0badf13c77cca98ffb0e02 100644 (file)
@@ -1,6 +1,11 @@
-public class SizeView {
+import javax.swing.*;
+
+public class SizeView extends JComponent {
     private Size sizeObj;
 
+    SizeView() {
+    }
+
     SizeView(Size sizeObj) {
         setSizeObj(sizeObj);
     }
index e6b69c54e62fa8fb62be14bd74786fd28d491cb7..3e6d00f668a0270f8f0f9ee5b42e88410e8116f1 100644 (file)
@@ -1,6 +1,11 @@
-public class WeightView {
+import javax.swing.*;
+
+public class WeightView extends JComponent {
     private Weight weightObj;
 
+    WeightView() {
+    }
+
     WeightView(Weight weightObj) {
         setWeightObj(weightObj);
     }