“我使用了Timer类,但是我认为那不是最好的方法。”
其他答案假定您未在用户界面(按钮)上使用Swing。
如果您正在使用Swing,请 不要 使用
Thread.sleep()它,因为它将冻结您的Swing应用程序。
相反,您应该使用
javax.swing.Timer。
有关更多信息和示例,请参见Java教程如何使用Swing计时器和课程:Swing中的并发。

“我使用了Timer类,但是我认为那不是最好的方法。”
其他答案假定您未在用户界面(按钮)上使用Swing。
如果您正在使用Swing,请 不要 使用
Thread.sleep()它,因为它将冻结您的Swing应用程序。
相反,您应该使用
javax.swing.Timer。
有关更多信息和示例,请参见Java教程如何使用Swing计时器和课程:Swing中的并发。