在Java中为标签设置计时器

Ken*_*ors 1 java timer timertask

目前我正在开发一个ATM模拟,主要有三个功能,分别是“显示余额”、“取款”和“存款”。由于这只是一个模拟,没有自动提款机,因此,当客户想要将钱存入帐户时,我分配了一个随机金额。

当谈到我的问题时,当用户点击存款时,屏幕上有一个标签。我希望该标签写“数钱”2 秒,然后显示实际金额,该金额是随机生成的。

我的问题是第一部分。如何让标签写“计数”2秒?

感谢您的回答和时间。

bra*_*ain 5

Swing 为这类事情提供了一个计时器,请查看文档。例如:

label.setText("Counting");
Timer timer = new Timer(2000, e -> label.setText("Done"));
timer.setRepeats(false);
timer.start();
Run Code Online (Sandbox Code Playgroud)

正如评论者指出的那样,这javax.swing.Timer不是java.util.Timer您想要的,因为前者在 EDT 上执行了操作。