Bal*_*ash 10 java swing textbox numeric jspinner
我有一个JSpinner的,可以从改变minimum到maximum的步骤0.1.这工作得非常好.现在,我设置编辑器,JSpinner因为NumberEditor用户可以编辑文本框,我只想要数字值.这也是有用的,也就是用户可以输入的任何内容,编辑器在我使用值时只给出编辑器中的数字mySpinner.getValue().toString();.现在解决了这个问题.我希望文本框只接受数字值.(decimal point),也就是说,如果用户尝试输入除了0-9和之外的任何内容.,它不应该在文本框中回显它.
JSpinner mySpinner = new JSpinner();
mySpinner.setModel(new SpinnerNumberModel(default,minimum,maximum,0.1));
mySpinner.setEditor(new JSpinner.NumberEditor(mySpinner,"##.#"));
Run Code Online (Sandbox Code Playgroud)
有人可以帮我弄这个吗.谢谢 :)
Dil*_*sha 26
您可以尝试setAllowsInvalid(false)如下:
JFormattedTextField txt = ((JSpinner.NumberEditor) mySpinner.getEditor()).getTextField();
((NumberFormatter) txt.getFormatter()).setAllowsInvalid(false);
Run Code Online (Sandbox Code Playgroud)
通过设置此属性,Jspinner将仅在字段中显示有效值,并忽略用户输入的所有其他值.此外,用户将无法删除在Jspinner中输入的整个值,即如果用户尝试选择整个值并且不允许删除它.用户只能使用有效值编辑字段,否则它看起来像是不可编辑的.
| 归档时间: |
|
| 查看次数: |
10344 次 |
| 最近记录: |