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 * editable. Why the f*** isn't this possible in the normal API? * * @author Sampo Niskanen <sampo.niskanen@iki.fi> */ //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); 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); } }