我有3 JSpinner
个,一个小时,一个几分钟,一个几秒钟。分钟和秒的最大值为60,最小值为-1,小时1的最小值为-1,最大值为24.如果第二个点击60,则会翻回0并逐个增加分钟数。向下功能以及小时和分钟的向上和向下功能都有类似的行为。这种技术在24小时导航时可以完美运行。
但是,我在12小时内遇到问题。我左边有一个JCheckBox
(amPmCheckBox
),可以激活或停用12小时的时间。现在,转换为12小时/从12小时的时间也可以完美运行,因此点击JCheckBox
不是问题所在。你看,左边有一个JToggleButton
(amPmToggleButton
)。如果它已启动(取消选择),则显示AM;如果关闭(选择),则显示PM。
现在,问题不在于转换(记住,我说有效),但在滚动。当我在整个小时内滚动微调器时,它应该从例如晚上11点到12点。但是,我有它,以便amPmToggleButton
每次小时旋转器达到其限制之一时都会切换其状态并向后翻转(这很容易被发现。我只是检查getAlarmHrs() > MAX_ALARM_AMPM_HRS
是否{{1}现在,这就是我的问题所在。每个AM / PM周期有12小时,应该有。但是,它们从凌晨1点到12点,下午1点到12点。任何知道AM / PM的人都知道这是错误的。
如何对此进行编程以了解何时在上午和下午之间切换?
请记住,这个闹钟在24小时内完美运行。
答案 0 :(得分:0)
在这段时间之后,我已经采用了更强大的格式并通过使用完全不同的设置解决了这个问题。基本的解决方案是分散一切;它越模块化,就越容易修复。如果有人访问这个问题并希望得到更详细的答案,请简单评论一下,我很乐意提供。