2010-11-16 37 views
0

我有3 JSpinner s,一個小時,一個分鐘,一個秒。分鐘和秒鐘的最大值爲60,最小值爲-1,小時的最小值爲-1,最大值爲24.如果第二個值爲60,則返回0,並逐一增加分鐘數。對於關閉功能以及小時和分鐘的上下功能也有類似的行爲。這項技術在24小時的導航時完美無瑕。使用Spinners製作12小時/ 24小時制鬧鐘的建議?

然而,我在12小時內遇到了問題。我有一個JCheckBoxamPmCheckBox)左側激活或停用12小時的時間。現在,轉換/從12小時的時間完美無缺,所以點擊這個JCheckBox不是問題。你看,有一個JToggleButtonamPmToggleButton)在左邊。如果它處於啓動狀態(取消選擇),則顯示AM,如果處於關閉狀態(選擇),則顯示PM。

現在,問題不在於轉換(記住,我說過那工作),但在滾動。當我在幾小時之內向上滾動旋轉器時,它應該從下午11點到上午12點。然而,我已經知道amPmToggleButton每次小時微調器達到其極限值時都會切換其狀態並且翻轉回來(這很容易檢測到,我只是在檢查getAlarmHrs() > MAX_ALARM_AMPM_HRS是否getAlarmHrs() < MIN_HRS。)現在,這就是我的問題。每個AM/PM週期有12個小時,應該是這樣。但是,他們從上午1點到12點和下午1點到12點。任何知道AM/PM的人都知道這是錯誤的。

如何對此進行編程以瞭解何時在AM和PM之間切換?

請記住,這個鬧鐘在24小時內絕對完美。

+0

如果你把它分解成段落,我們會更容易閱讀。 – jjnguy 2010-11-16 22:37:50

+0

我已經完成了。 – Supuhstar 2010-11-16 23:59:39

+0

http://ggjava.wordpress.com/2011/01/30/24-hour-alarm/ 24小時報警 – 2011-02-04 21:16:35

回答

0

經過這段時間,我已經用了更強大的格式,並通過完全不同的設置解決了這個問題。基本的解決方案是分散一切;它越模塊化,它就越容易修復。如果任何人訪問這個問題,並希望得到更詳細的答案,只需發表評論,我會很樂意提供。

相關問題