如何制作计时器?

Soh*_*eil 3 java timer

我想做一个Timer等待400 MSc然后去打印"嗨!" (例如).我知道如何做到这一点javax.swing.Timer

    ActionListener action = new ActionListener()
{
    @Override
    public void actionPerformed(ActionEvent e)
    {
       System.out.println("hi!");
    }
};
Run Code Online (Sandbox Code Playgroud)

加:

    timer = new Timer(0, action);
    timer.setRepeats(false);
    timer.setInitialDelay(400);
    timer.start();
Run Code Online (Sandbox Code Playgroud)

但据我所知,这绝对不是一个好方法,因为这种方式Timer适用于Swing的作品.如何以正确的方式做到这一点?(不使用Thread.sleep())

fmo*_*dos 10

Timer t = new Timer();
t.schedule(new TimerTask() {

            @Override
            public void run() {
                System.out.println("Hi!");

            }
        }, 400);
Run Code Online (Sandbox Code Playgroud)