Java:计时器(等待x秒)

Cas*_* TL 3 java timer

我有一个简单的GUI,可以保存并从.doc文件中获取一些数据.

当我按下保存按钮时,我有一个标签,通过label.setText()显示"Succes"或"Error".

更新:代码应在FXMLDocumentController中运行(构建为SceneBuilder)

我希望标签在3秒后回到空("").

我试过了:

try {
    Thread.sleep(1000);               
    } 
 catch(InterruptedException ex) {
Thread.currentThread().interrupt();
Run Code Online (Sandbox Code Playgroud)

}

但就像睡眠功能冻结了整个GUI,所以我在睡觉时无法与之交互.如何设置不影响可用性的计时器?:)

mai*_*Art 7

创建一个在3秒后启动的TimerTask.这个TimerTask必须通过Platform.runLater执行使用gui组件的代码(new Runnable())

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

        @Override
        public void run() {
            Platform.runLater(new Runnable() {
                @Override
                public void run() {
                    label.setText("");
                }
            });

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