我正在尝试将倒数计时器实现为预先存在的公共类,并且我有几个问题。Java中的循环倒数计时器
概述:一旦程序初始化,我希望在程序中有一个从60(秒)开始倒计时的计时器。
如果计时器到零,程序退出。
如果用户在60秒的时间范围内遇到某些参数,则定时器重置为60,呈现一组新的参数,并再次开始倒计时。它应该能够无限次地执行此操作,直到用户在60秒内未能满足参数。
还会有某种(TBD)计时器的GUI表示,最有可能是数字倒计时或JProgressBar。
我是半新的(〜3个月)编程,自学成才,并且还在学习手(所以要温柔):)
我的问题是:
是什么实现这个最好的方法是什么?
我假设这需要在一个线程中运行?
定时器是否易于配置? (不重要,只是有趣)
感谢您的帮助。如果你需要看代码,我可以找到一些。
编辑:只是为了一些澄清/上下文: 这是一个定时赛车视频游戏,我正在努力发展我的技能,作为一名程序员。这个想法是一个球员有60秒完成一圈。如果玩家完成一圈成功,定时器重置为60秒,轨道变得稍微困难一些。游戏一直运行到玩家由于困难而无法在60秒内完成一圈。游戏将圈数记录为高分,并询问玩家是否想再试一次。
也许不是完全退出程序,你应该清楚的框架,并显示一条消息,说明(像)“对不起,时间到了!”?只是神秘地退出(即使有计时器)的程序可能会被认为是越野车。然后在菜单上提供一个“重置”框。 –
对不起,我没有在说明中详细说明,但我打算让程序退出并显示一个JOptionPane,上面写着“抱歉,计时器用完了!点击好,再试一次”。 – Speakr
然后你的程序并不是真的退出,只是'JFrame'被篡改或隐藏(和一个新的显示)。 'System.exit()'在这种情况下不起作用。让主线程管理窗口,当定时器用完时调用'dispose()'(并可能重新初始化显示元素),并显示通知窗口。 –