create changelog entry
[debian/openrocket] / core / src / net / sf / openrocket / gui / SpinnerEditor.java
1 package net.sf.openrocket.gui;
2
3 import javax.swing.JSpinner;
4 import javax.swing.text.DefaultFormatter;
5 import javax.swing.text.DefaultFormatterFactory;
6
7 /**
8  * Editable editor for a JSpinner.  Simply uses JSpinner.DefaultEditor, which has been made
9  * editable.  Why the f*** isn't this possible in the normal API?
10  * 
11  * @author Sampo Niskanen <sampo.niskanen@iki.fi>
12  */
13
14 //public class SpinnerEditor extends JSpinner.NumberEditor {
15 public class SpinnerEditor extends JSpinner.DefaultEditor {
16
17         public SpinnerEditor(JSpinner spinner) {
18                 super(spinner);
19                 //super(spinner,"0.0##");
20                 getTextField().setEditable(true);
21                 
22                 DefaultFormatterFactory dff = (DefaultFormatterFactory) getTextField().getFormatterFactory();
23                 DefaultFormatter formatter = (DefaultFormatter) dff.getDefaultFormatter();
24                 formatter.setOverwriteMode(false);
25         }
26
27         /**
28          * Constructor which sets the number of columns in the editor.
29          * @param spinner
30          * @param cols
31          */
32         public SpinnerEditor(JSpinner spinner, int cols ) {
33                 this(spinner);
34                 getTextField().setColumns(cols);
35         }
36         
37 }