는 버튼 클릭에 나는이 작업을 수행 할 수 : 나는 빨리 완전히 GUI를 정지로 수면이 작동하지 않을 것을 깨달았다버튼을 클릭 할 때 10 초 동안 텍스트 필드를 편집 가능하게 만들려면 어떻게해야합니까? 자바 FX를 사용
spinBtn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
field.setDisable(false);
//Delay for 10 seconds
field.setDisable(true);
}
});
. 또한 타이머를 얻기 위해 잠자는 스레드를 시도했지만, 지연을 원할 경우 입력을 계속하면 GUI가 정지합니다. (아래 예)
이 코드가 GUI를 정지시키지 않도록하려면 어떻게해야합니까? 스윙에서 타이머가 있음을 압니다. JavaFX에서 비슷한 점이 있습니까? 이벤트를 지연
당신은 10 초 후에 스레드에서'Platform.runLater'을 시도하고 이제 텍스트 필드를 비활성화 주 스레드에서 함수를 호출 할 수 있습니다. – Philipp
나는 그것이 잘 동작 할 수 있다고 생각하지만, 내가 시도한 것에서는 나에게 문제가 있었고, 나는 MBec의 대답과 같이 (내 의견으로는) 다른, 더 간단한 방법이 있어야한다고 생각했다. – Lalenci
나는 MBec의 대답이 훨씬 더 적합하다고 생각한다. – Philipp