質問: new Timeline(new KeyFrame(Duration.millis(1000), new EventHandler() { @Override public void handle(ActionEvent event) { System.out.println("こんにちは"); } })); timer.setCycleCount(10); timer.play(); ``` よろしくお願いします(;_;)
回答: ``` Random r = new Random(); boolean continueFlag = true; private void showMessage() { // PauseTransitionで◯秒待機後に実行させる // ◯秒の◯はRandomクラスで生成する PauseTransition p = new PauseTransition(Duration.millis(r.nextInt(3000))); // 3000ミリ秒以下の乱数 p.setOnFinished(e->{ System.out.println("こんにちは"); if(continueFlag) {//continueFlagがtrueであれば、またこのメソッドを呼び出す showMessage(); } }); p.play(); } ``` これで0〜3秒のランダムな秒数でこんにちはと表示されます。continueFlagというのは便宜的に定めた変数でしかないので、setOnFinishedの中のif文は好きに書き換えてください。