我有 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 小时内绝对完美地工作。