I am creating time picker using a JSpinner
. The text inside the JSpinner
is editable. But I want to set the JSpinner
as non editable, because there is the chance to give an invalid value. Can anyone help me?
How to set JSpinner as non editable?
Can you comment on jfpoilpret's answer if it helped or not? And if it did, accept it as the correct one? –
Mezuzah
Try the following:
JSpinner spinner = ...;
((DefaultEditor) spinner.getEditor()).getTextField().setEditable(false);
This should work as long as you didn't change the spinner editor yourself by calling spinner.setEditor(...)
.
Tell us if this helps.
I modified your code,It works Fine. JSpinner ampm=new JSpinner(); JFormattedTextField ampmspin=((JSpinner.DefaultEditor)ampm.getEditor()).getTextField(); ampmspin.setEditable(false); Thank you very much......... –
Continual
I had to add this after I set the spinner's list model. Then it worked. –
Giffie
When I try this, the spinner can still be edited by click the arrow! –
Oklahoma
A bit shorter:
JSpinner spinner = new JSpinner();
spinner.setEditor(new JSpinner.DefaultEditor(spinner));
When I try this, the spinner can still be edited by click the arrow! – yelliver
You can try setting the step to 0:
mySpinner.setModel(new SpinnerNumberModel(yourDefaultDisplayValue,
minValue, maxValue, step));
You can explore the other spinner models and do the same trick I guess.
© 2022 - 2024 — McMap. All rights reserved.