JavaFX: при нажатии кнопки, как выполнить строку кода, затем thread.sleep x секунд, затем запустить оставшийся код - PullRequest
0 голосов
/ 04 мая 2020

В JavaFX после нажатия кнопки я хочу запустить несколько строк кода, подождать x секунд, а затем завершить sh оставшийся код. Это то, что я пробовал.

        /* On button click */
    buttonD.setOnAction(action -> {

        /* Gets text from text field */
        String text = input.getText();

        /* Some alteration to the text from another class */
        CaesarCipher obj = new CaesarCipher();
        String varD = obj.decrypt(text, 10);

        /* Changes what was in the text field, to the altered text */
        input.setText(varD + "\n");

        /* Wait 10 seconds */
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        /* After 10 seconds, clear the text field*/
        input.clear();

    });

Проблема в том, что, когда я нажимаю кнопку, он автоматически начинает обратный отсчет таймера, затем идет вниз, чтобы очистить текстовое поле, вместо того, чтобы сначала изменить текст внутри текстового поля. и затем ожидание x секунд и, наконец, очистка текстового поля.

...