【发布时间】:2013-05-09 20:34:25
【问题描述】:
我正在尝试让一个 JSpinner(包含一个分钟/秒计时器)为一群不关心鼠标但希望每次击键都准确无误地按自己的方式设置的人工作习惯了。它几乎可以按我的意愿工作,但最后一英里是最难的。
这在实践中意味着,当其中一个文本字段获得焦点时,微调器的外观和行为应该与用户从其中一个字段中按下箭头键后的外观和行为完全相同。
Spinner 的创建方式如下:
this.countdown = new JSpinner(this.model);
this.editor = new JSpinner.DateEditor(countdown, "m:ss");
JFormattedTextField textField = editor.getTextField();
第 1 步。当我的微调器出现时,它看起来像这样: ('|'表示插入符号,粗体表示选择)
|1:00
(未选择任何内容)
第 2 步。如果从此处按下向上箭头 它看起来像这样:
2|:00
(选择了 2 分钟字段)
第 3 步。如果从这里按下右箭头,我们会得到:
2:|00
(未选择任何内容)
第 4 步。如果从这里按下向上箭头,我们会得到
2:01|
(01 秒字段被选中)
我希望它在所有这些情况下都能像在第 2 步和第 4 步中那样工作。当其中一个子字段获得焦点时,应该选择它。
有什么办法可以做到吗?
【问题讨论】: