请教各位高手JSpinner输入格式控制问题。急!谢谢!!

zqlpost 2003-09-25 03:55:19
我在使用JSpinner时使用了SpinnerDateModel显示和输入时间(HH:mm),但是在输入时间时碰到以下问题:
1.无论光标在小时上还是在分钟上微调按钮默认动作都跳回在小时(HH)上。
2.输入字符位数可以超过5位规定的显示格式,并且可以输入除了数字和冒号的任意字符,使用很不方便。(严重问题)
该如何控制输入格式为5位的数字,中间的冒号如何处理好?(我见过有的控件遇到冒号自动跳过且数字是覆盖式的输入,很方便),为什么我对JSpinner控件用addKeyListener控制没用?

希望知道的大侠帮小弟解惑,谢谢了!

油箱:alexqi@hotmail.com
...全文
124 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
duoshanx 2003-09-28
  • 打赏
  • 举报
回复
看这里
http://www-900.ibm.com/developerWorks/cn/java/j-merlin/index1.shtml
zqlpost 2003-09-25
  • 打赏
  • 举报
回复
thank you very much!!
pxboy 2003-09-25
  • 打赏
  • 举报
回复
editor.getTextField().addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
//check input
}
});

再没其他办法,自已处理吧
zqlpost 2003-09-25
  • 打赏
  • 举报
回复
谢谢pxboy(阿土仔)的关注,但我前面也是这样定义的,一点用都没有,控制不了输入格式。不过还是谢谢你!!
ngk2030 2003-09-25
  • 打赏
  • 举报
回复
被问题郁闷了很久,今天可见UP!
pxboy 2003-09-25
  • 打赏
  • 举报
回复
public class DateSpinner
extends JSpinner
{
protected String formatPattern = "yyyy-MM-dd HH:mm:ss"; //日期格式字符串

public void DateSpinner()
{
SpinnerDateModel startModel = new SpinnerDateModel();
this.setModel(startModel);
this.setBorder(BorderFactory.createEmptyBorder());

JSpinner.DateEditor editor = new JSpinner.DateEditor(this, formatPattern);
setEditor(editor);
}
}

你再使用一个editor

62,614

社区成员

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

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