java JSpinner微调控件限定输入格式问题

lkhjlbh 2014-06-13 10:30:40
各位高手请教一个问题,我用java JSpinner控件时限定文本框输入只能输入数字,但是删除时数字最后一位无法完全清除,请问有知道的麻烦告诉下该如何解决?万分感激!
代码:
JSpinner的输入限制实现
最近使用了JSpinner,需要限制其中数字部分。

final SpinnerModel model = new SpinnerNumberModel(minNumber, minNumber, maxNumber, 1);
numberSpinner = new JSpinner(model);
// 允许输入
final JSpinner.NumberEditor editor = new JSpinner.NumberEditor(numberSpinner, "0");
numberSpinner.setEditor(editor);
final JFormattedTextField textField = ((JSpinner.NumberEditor)numberSpinner.getEditor()).getTextField();
textField.setEditable(true);//开启输入功能
// 开启输入的值的限制
final DefaultFormatterFactory factory = (DefaultFormatterFactory)textField.getFormatterFactory();
final NumberFormatter formatter = (NumberFormatter)factory.getDefaultFormatter();
formatter.setAllowsInvalid(false);// 此处对输入的有效性进行控制。若改为true,则不控制有效性
应该怎么设置一下使文本框内容能够完全删除?
...全文
171 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lkhjlbh 2014-06-13
  • 打赏
  • 举报
回复
等待中...
lkhjlbh 2014-06-13
  • 打赏
  • 举报
回复
这个是代码: final SpinnerModel model = new SpinnerNumberModel(minNumber, minNumber, maxNumber, 1); numberSpinner = new JSpinner(model); // 允许输入 final JSpinner.NumberEditor editor = new JSpinner.NumberEditor(numberSpinner, "0"); numberSpinner.setEditor(editor); final JFormattedTextField textField = ((JSpinner.NumberEditor)numberSpinner.getEditor()).getTextField(); textField.setEditable(true);//开启输入功能 // 开启输入的值的限制 final DefaultFormatterFactory factory = (DefaultFormatterFactory)textField.getFormatterFactory(); final NumberFormatter formatter = (NumberFormatter)factory.getDefaultFormatter(); formatter.setAllowsInvalid(false);// 此处对输入的有效性进行控制。若改为true,则不控制有效性

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧