Ensure that whenever DoubleModel.getSpinnerModel() is used in a JSpinner, we explicitly set the spinner editor to our own SpinnerEditor instance. The makes the text field in the spinner editable.
This commit is contained in:
parent
1fb1e7e512
commit
6ad5458da9
@ -16,6 +16,7 @@ import javax.swing.event.ChangeListener;
|
|||||||
|
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
import net.sf.openrocket.gui.Resettable;
|
import net.sf.openrocket.gui.Resettable;
|
||||||
|
import net.sf.openrocket.gui.SpinnerEditor;
|
||||||
import net.sf.openrocket.gui.adaptors.DoubleModel;
|
import net.sf.openrocket.gui.adaptors.DoubleModel;
|
||||||
import net.sf.openrocket.gui.components.FlatButton;
|
import net.sf.openrocket.gui.components.FlatButton;
|
||||||
import net.sf.openrocket.l10n.Translator;
|
import net.sf.openrocket.l10n.Translator;
|
||||||
@ -137,6 +138,7 @@ public class CompassSelectionButton extends FlatButton implements Resettable {
|
|||||||
panel.add(new JPanel(), "growy, wrap");
|
panel.add(new JPanel(), "growy, wrap");
|
||||||
|
|
||||||
JSpinner spin = new JSpinner(model.getSpinnerModel());
|
JSpinner spin = new JSpinner(model.getSpinnerModel());
|
||||||
|
spin.setEditor( new SpinnerEditor( spin ) );
|
||||||
panel.add(spin, "wmin 50lp, growx, gapright 0, aligny bottom");
|
panel.add(spin, "wmin 50lp, growx, gapright 0, aligny bottom");
|
||||||
|
|
||||||
panel.add(new JLabel("" + Chars.DEGREE), "wrap para");
|
panel.add(new JLabel("" + Chars.DEGREE), "wrap para");
|
||||||
|
@ -17,6 +17,7 @@ import javax.swing.JTextField;
|
|||||||
|
|
||||||
import net.miginfocom.swing.MigLayout;
|
import net.miginfocom.swing.MigLayout;
|
||||||
import net.sf.openrocket.database.Databases;
|
import net.sf.openrocket.database.Databases;
|
||||||
|
import net.sf.openrocket.gui.SpinnerEditor;
|
||||||
import net.sf.openrocket.gui.adaptors.DoubleModel;
|
import net.sf.openrocket.gui.adaptors.DoubleModel;
|
||||||
import net.sf.openrocket.gui.components.StyledLabel;
|
import net.sf.openrocket.gui.components.StyledLabel;
|
||||||
import net.sf.openrocket.gui.components.UnitSelector;
|
import net.sf.openrocket.gui.components.UnitSelector;
|
||||||
@ -173,14 +174,15 @@ public class CustomMaterialDialog extends JDialog {
|
|||||||
density = new DoubleModel(originalMaterial.getDensity(),
|
density = new DoubleModel(originalMaterial.getDensity(),
|
||||||
originalMaterial.getType().getUnitGroup(), 0);
|
originalMaterial.getType().getUnitGroup(), 0);
|
||||||
densitySpinner.setModel(density.getSpinnerModel());
|
densitySpinner.setModel(density.getSpinnerModel());
|
||||||
|
densitySpinner.setEditor(new SpinnerEditor(densitySpinner));
|
||||||
densityUnit.setModel(density);
|
densityUnit.setModel(density);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Material.Type type = (Material.Type) typeBox.getSelectedItem();
|
Material.Type type = (Material.Type) typeBox.getSelectedItem();
|
||||||
density = new DoubleModel(0, type.getUnitGroup(), 0);
|
density = new DoubleModel(0, type.getUnitGroup(), 0);
|
||||||
densitySpinner.setModel(density.getSpinnerModel());
|
densitySpinner.setModel(density.getSpinnerModel());
|
||||||
|
densitySpinner.setEditor(new SpinnerEditor(densitySpinner));
|
||||||
densityUnit.setModel(density);
|
densityUnit.setModel(density);
|
||||||
}
|
}
|
||||||
((DefaultEditor) densitySpinner.getEditor()).getTextField().setEditable(true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user