J'ai 3 JSpinner
s, une pour les heures, une pour les minutes, une pour les secondes. Les minutes et les secondes ont un maximum de 60 et un minimum de -1 et les heures ont un minimum de -1 et un maximum de 24. Si la seconde touche 60, elle revient à 0 et augmente les minutes une par une . Il y a un comportement similaire pour la fonction bas et la fonction haut et bas des heures et des minutes. Cette technique fonctionne parfaitement lorsque vous naviguez sur une période de 24 heures. Cependant, je rencontre des problèmes en 12 heures. J'ai un JCheckBox
(amPmCheckBox
) à gauche qui active ou désactive l'heure de 12 heures. Maintenant, la conversion de/à 12 heures fonctionne parfaitement, donc le clic de ce JCheckBox
n'est pas le problème. Il y a un JToggleButton
(amPmToggleButton
) à gauche, vous voyez. Ceci affiche AM s'il est en haut (désélectionné) et PM s'il est en bas (sélectionné).Suggestions pour faire un réveil de 12 heures/24 heures en utilisant Spinners?
Maintenant, le problème ne réside pas dans la conversion (rappelez-vous, je l'ai dit qui a fonctionné), mais dans le défilement. Quand je fais défiler le filateur à travers les heures, il DEVRAIT aller de, disons, de 23 heures à 12 heures. Cependant, je l'ai pour que le amPmToggleButton
change d'état à chaque fois que le compteur de l'heure atteint l'une de ses limites et revient en arrière (ce qui est facile à détecter, je vérifie simplement getAlarmHrs() > MAX_ALARM_AMPM_HRS
sinon getAlarmHrs() < MIN_HRS
.) Maintenant, c'est là que réside mon problème. Il y a 12 heures par cycle AM / PM, comme il se doit. CEPENDANT, ils vont de 1h à 12h et de 13h à 12h. Toute personne qui connaît AM/PM sait que c'est faux. Comment puis-je programmer ceci pour savoir quand basculer entre AM et PM? N'oubliez pas que ce réveil fonctionne parfaitement parfaitement en 24 heures.
Ce serait beaucoup plus facile à lire si vous l'avez divisé en paragraphes pour nous. – jjnguy
Je l'ai fait. – Supuhstar
http://ggjava.wordpress.com/2011/01/30/24-heure-alarm/ 24 heures d'alarme –