Figured out how to size panels right
authorBill Kuker <bkuker@billkuker.com>
Fri, 10 Apr 2009 14:56:48 +0000 (14:56 +0000)
committerBill Kuker <bkuker@billkuker.com>
Fri, 10 Apr 2009 14:56:48 +0000 (14:56 +0000)
src/com/billkuker/rocketry/motorsim/grain/GrainPanel.java

index dd728217a2221d44b186d0a8d8c864291279a440..6f2b7d627b21a8e0bcb2070397082d867543fa50 100644 (file)
@@ -4,6 +4,7 @@ import java.awt.BorderLayout;
 import java.awt.Dimension;\r
 import java.awt.Graphics;\r
 import java.awt.Graphics2D;\r
+import java.text.NumberFormat;\r
 \r
 import javax.measure.quantity.Area;\r
 import javax.measure.quantity.Length;\r
@@ -68,7 +69,7 @@ public class GrainPanel extends JPanel {
                \r
                JSplitPane charts = new JSplitPane(JSplitPane.VERTICAL_SPLIT, area, volume);\r
                charts.setDividerLocation(.5);\r
-               \r
+               charts.setResizeWeight(.5);\r
                \r
                if ( grain instanceof Grain.Graphical)\r
                        add(xc = new XC((Grain.Graphical)grain), BorderLayout.CENTER);\r
@@ -86,7 +87,7 @@ public class GrainPanel extends JPanel {
                private static final long serialVersionUID = 1L;\r
                Grain.Graphical grain;\r
                public XC(Grain.Graphical g){\r
-                       setMinimumSize(new Dimension(120,120));\r
+                       setMinimumSize(new Dimension(220,220));\r
                        grain = g;\r
                }\r
                public void paint(Graphics g){\r
@@ -99,7 +100,7 @@ public class GrainPanel extends JPanel {
        \r
        private class SL extends JSlider implements ChangeListener{\r
                private static final long serialVersionUID = 1L;\r
-               private static final int STEPS = 20;\r
+               private static final int STEPS = 60;\r
                public SL(){\r
                        addChangeListener(this);\r
                        setMinimum(0);\r
@@ -111,7 +112,9 @@ public class GrainPanel extends JPanel {
                public void stateChanged(ChangeEvent e) {\r
                        double r = ((SL)e.getSource()).getValue();\r
                        displayedRegression = grain.webThickness().divide(STEPS).times(r);\r
-                       l.setText("Regression: " + displayedRegression);\r
+                       NumberFormat nf = NumberFormat.getInstance();\r
+                       nf.setMaximumFractionDigits(2);\r
+                       l.setText("Regression: " + nf.format(displayedRegression.doubleValue(SI.MILLIMETER)) + "mm");\r
                        area.mark(displayedRegression);\r
                        volume.mark(displayedRegression);\r
                        if ( xc != null )\r