我使用JSpinner
为HH选择时间:MM:SS格式。每当 我打开微调自动设置为当前系统时间的GUI, 我需要的是比方说如果我点击给予一定的参考价值微调器,当 我再次打开它的旧值应显示后保存。使用的JSpinner获得价值
下面的代码,但它不工作我都试过了,
if(Stime != null){
Date time = new SimpleDateFormat("HHMMSS", Locale.ENGLISH).parse(Stime);
StarttimeSpinner.setValue(time);
}
其中表准时在HHMMSS格式e.g先前保存的时间(142030)
是正确的吗?或者我该怎么做?请帮忙!
编辑:
SpinnerModel Startmodel = new SpinnerDateModel();
StarttimeSpinner = new JSpinner();
StarttimeSpinner = new JSpinner(Startmodel);
JComponent editor = new JSpinner.DateEditor(StarttimeSpinner, "HH:mm:ss");
StarttimeSpinner.setEditor(editor);
try{
if(!(Stime.equalsIgnoreCase("")))
{
Date time = new SimpleDateFormat("HH:mm:ss", Locale.ENGLISH).parse(Stime);
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
String dateString = formatter.format(time);
StarttimeSpinner.setModel(new SpinnerListModel(new String[]{dateString}));
}
}
}catch(Exception ie){
System.err.println("in time panel");
}
表准时格式是HHMMSS及其一个string.In dateString(可变)1得到HH的先前值:mm:ss的格式,但它不被在微调设置而不是显示系统时间。
编辑2: 我已经发现了一个解决方案,但有袋式,
如果我的代码是这样的(1),
StarttimeSpinner = new JSpinner();
SpinnerModel Startmodel = new SpinnerDateModel();
StarttimeSpinner = new JSpinner(Startmodel);
JComponent editor = new JSpinner.DateEditor(StarttimeSpinner, "HH:mm:ss");
StarttimeSpinner.setEditor(editor);
的下面一段代码工作正常,
Date starttime = new Date();
starttime = (Date)StarttimeSpinner.getValue();
如果我改变像下面的代码(2),
Date time = new SimpleDateFormat("HHmmss", Locale.ENGLISH).parse(Stime);
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
String dateString = formatter.format(time);
StarttimeSpinner.setModel(new SpinnerListModel(new String[]{dateString}));
其中表准时为(例如)120011
下面的一段代码不做工精细,
Date starttime = new Date();
starttime = (Date)StarttimeSpinner.getValue();
,并在获取价值声明抛出异常的java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date
。
1)为了更好地帮助越早,张贴[SSCCE(HTTP:// SSCCE。组织/)。 2)请学习常见的[Java命名约定](http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#73307)(具体用于名称的情况) ,方法和属性名称并一致使用它们。 –
当你说保存,你的意思是你关闭整个程序,当你再次打开它,你想要显示的时间?如果是这样的话,你需要将它保存到一个文本文件或类似的东西。并在打开程序时加载文件 –
那么,出现什么问题了吗? – MadProgrammer