Finish the SizeView by using a JSpinner.
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 11 Jan 2019 16:23:34 +0000 (17:23 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 11 Jan 2019 16:23:34 +0000 (17:23 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
src/FirstnameView.java
src/MainWindowsView.java
src/Size.java
src/SizeView.java

index b7b85680290a51ca5c6c28e21bf1c92db3cdd3fe..1fb6feeaa2577961b1025cee6c65b31beba8c85a 100644 (file)
@@ -10,7 +10,7 @@ public class FirstnameView extends JPanel {
         this.label = new JLabel();
         this.label.setText("Firstname");
         this.textField = new JTextField(length);
-        this.textField.setText(firstnameObj.getFirstname());
+        this.textField.setText(this.getFirstnameObj().getFirstname());
         add(label);
         add(textField);
     }
index 3fab8e02b774161fcce1767236b8fdc3f2e03e3c..406fcd58f18a8783375fa37e1670ff287367bd3a 100644 (file)
@@ -34,7 +34,7 @@ public class MainWindowsView extends JFrame {
     /**
      * Create menu that support cut/copy/paste.
      */
-    public JMenuBar createMenuBar() {
+    private JMenuBar createMenuBar() {
         JMenuItem menuItem;
         JMenuBar menuBar = new JMenuBar();
 
index 6946e5a8967e2358072fccd1fb7fa13e619e9f9d..a0e7d780900685c817fd46e26a46ffb5303614c5 100644 (file)
@@ -1,6 +1,6 @@
 public class Size implements Comparable<Size> {
     private int max = 240;
-    private int min = 20;
+    private int min = 40;
     private int size;
 
     Size() {
@@ -10,6 +10,14 @@ public class Size implements Comparable<Size> {
         setSize(size);
     }
 
+    public int getMin() {
+        return min;
+    }
+
+    public int getMax() {
+        return max;
+    }
+
     public int getSize() {
         return size;
     }
@@ -18,7 +26,7 @@ public class Size implements Comparable<Size> {
         if (validateSize(size)) {
             this.size = size;
         } else {
-            throw new IllegalArgumentException("Size must be between " + this.min + " and " + this.max);
+            throw new IllegalArgumentException("Size must be between " + this.getMin() + " and " + this.getMax());
         }
     }
 
index 01736157cc9e624ca89a498a372cd4713d2c2cb5..781f397c58acaeae55e273c56b1bc0ff375ca1e8 100644 (file)
@@ -3,12 +3,22 @@ import javax.swing.*;
 public class SizeView extends JPanel {
     private Size sizeObj;
     private JLabel label;
+    private JSpinner spinner;
 
     SizeView(Size sizeObj) {
         setSizeObj(sizeObj);
         this.label = new JLabel();
         this.label.setText("Size");
+        SpinnerNumberModel numberModel = new SpinnerNumberModel((this.getSizeObj().getMax() - this.getSizeObj().getMin()) / 2,
+                this.getSizeObj().getMin(),
+                this.getSizeObj().getMax(),
+                1);
+        this.spinner = new JSpinner(numberModel);
+        if (this.getSizeObj().getSize() != 0)
+            this.spinner.setValue(this.getSizeObj().getSize());
+
         add(label);
+        add(spinner);
     }
 
     public Size getSizeObj() {