【问题标题】:Suggestions for making a 12-hour/24-hour alarm clock using Spinners?使用 Spinners 制作 12 小时/24 小时闹钟的建议?
【发布时间】:2013-11-22 14:52:59
【问题描述】:

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

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

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

如何编程以知道何时在 AM 和 PM 之间切换?

请记住,这个闹钟在 24 小时制中绝对完美。

【问题讨论】:

  • 如果你把它分成几段给我们读起来会更容易。
  • 我不想知道如何制作 12 小时闹钟。我已经这样做了。阅读问题,而不是标题。

标签: java clock alarm jspinner togglebutton


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    • 2014-11-20
    • 2021-12-05
    • 1970-01-01
    • 2017-03-25
    相关资源
    最近更新 更多