【发布时间】:2013-11-21 21:56:08
【问题描述】:
我已经实现了 Jspinner,在其中我添加了 mouseClicked 侦听器,它将微调器设置为当前日期时间,但是在成功提交相同的微调器后,需要将微调器设置为空白,这工作正常但是当我第二次单击微调器时它显示旧值以及 mouseClicked Listener 没有被调用为什么? 注意:我使用 SpinnerDateModel 作为微调器。
private void spinnerMouseClicked(java.awt.event.MouseEvent evt) {
spinner.setModel(new SpinnerDateModel(new Date(), null, null, Calendar.HOUR_OF_DAY));
SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm");
((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().setFormatterFactory(new DefaultFormatterFactory(new DateFormatter(format)));
((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().addCaretListener(new CaretListener() {
@Override
public void caretUpdate(CaretEvent e) {
if (0 == ((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().getCaretPosition()) {
if (((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().getText().length() > 13) {
((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().setCaretPosition(13);
}
}
}
});
}
private void submit(){
((JSpinner.DefaultEditor) spinner.getEditor()).getTextField().setText(null);
}
【问题讨论】:
-
没有看到你的代码就很难说 :)
-
没人知道,也投票关闭