0

我有 3JSpinner秒,一小时,一分钟,一秒。分钟和秒的最大值为 60,最小值为 -1,小时的最小值为 -1,最大值为 24。如果第二个达到 60,它会翻转回 0 并一一增加分钟. 向下功能和小时和分钟一的向上和向下功能具有类似的行为。在 24 小时制导航时,这种技术可以完美运行。

但是,我在 12 小时内遇到了问题。我在左侧有一个JCheckBox( amPmCheckBox),用于激活或停用 12 小时制时间。现在,转换为/转换为 12 小时的时间也完美无缺,因此单击JCheckBox它不是问题。你看,左边有一个JToggleButton( )。amPmToggleButton如果它向上(取消选择)则显示 AM,如果它向下(选择)则显示 PM。

现在,问题不在于转换(记住,我说过有效),而在于滚动。当我向上滚动微调器时,它应该从晚上 11 点到凌晨 12 点。但是,我有它,以便amPmToggleButton每次小时微调器达到其限制之一并返回时切换其状态(这很容易检测到。我只是检查是否getAlarmHrs() > MAX_ALARM_AMPM_HRS存在getAlarmHrs() < MIN_HRS。)现在,这就是我的问题。每个上午/下午周期有 12 小时,应该有。但是,他们从 1 AM - 12 AM 和 1 PM - 12 PM 开始。任何了解 AM/PM 的人都知道这是错误的。

我如何对其进行编程以知道何时在 AM 和 PM 之间切换?

请记住,这个闹钟在 24 小时内绝对完美地工作。

4

1 回答 1

0

经过这么长时间,我采用了更强大的格式,并通过使用完全不同的设置解决了这个问题。基本的解决方案是去中心化一切;它越模块化,就越容易修复。如果有人访问此问题并想要更详细的答案,只需发表评论,我很乐意提供。

于 2012-10-20T16:39:07.420 回答