Merge commit '42b2e5ca519766e37ce6941ba4faecc9691cc403' into upstream
[debian/openrocket] / core / src / net / sf / openrocket / gui / SpinnerEditor.java
index 843eed6a77bed1d9c21352f09d4d579de02df2bf..be4b79525a8e57b65ba3d30eb434c3ef7e57bf60 100644 (file)
@@ -1,6 +1,8 @@
 package net.sf.openrocket.gui;
 
 import javax.swing.JSpinner;
+import javax.swing.text.DefaultFormatter;
+import javax.swing.text.DefaultFormatterFactory;
 
 /**
  * Editable editor for a JSpinner.  Simply uses JSpinner.DefaultEditor, which has been made
@@ -9,13 +11,27 @@ import javax.swing.JSpinner;
  * @author Sampo Niskanen <sampo.niskanen@iki.fi>
  */
 
-public class SpinnerEditor extends JSpinner.NumberEditor {
-//public class SpinnerEditor extends JSpinner.DefaultEditor {
+//public class SpinnerEditor extends JSpinner.NumberEditor {
+public class SpinnerEditor extends JSpinner.DefaultEditor {
 
        public SpinnerEditor(JSpinner spinner) {
-               //super(spinner);
-               super(spinner,"0.0##");
-               //getTextField().setEditable(true);
+               super(spinner);
+               //super(spinner,"0.0##");
+               getTextField().setEditable(true);
+               
+               DefaultFormatterFactory dff = (DefaultFormatterFactory) getTextField().getFormatterFactory();
+               DefaultFormatter formatter = (DefaultFormatter) dff.getDefaultFormatter();
+               formatter.setOverwriteMode(false);
        }
 
+       /**
+        * Constructor which sets the number of columns in the editor.
+        * @param spinner
+        * @param cols
+        */
+       public SpinnerEditor(JSpinner spinner, int cols ) {
+               this(spinner);
+               getTextField().setColumns(cols);
+       }
+       
 }