javafx를 사용하여 미리 결정되었지만 불규칙한 간격으로 화면에 상황을 표시하는 코드를 작성하려고합니다. 내가 (java.util, 아니 javax.swing) 타이머를 사용하려고했지만 당신은 별도의 스레드에서 일하는 경우 응용 프로그램에서 아무것도 변경할 수 없습니다. (타이머처럼) 아무도 내가 타이머를 얻을 수있는 방법을 말해 줄 수 둘 다 별도의 스레드 인 경우 응용 프로그램과 상호 작용합니까?타이머와 javafx
답변
JavaFX 구성 요소를 건 드리려면 Platform 스레드 (JavaFX의 이벤트 발송 스레드)에서 수행해야합니다. Platform.runLater()
을 호출하여 쉽게 수행 할 수 있습니다. 당신이
Timer timer = new java.util.Timer();
timer.schedule(new TimerTask() {
public void run() {
Platform.runLater(new Runnable() {
public void run() {
label.update();
javafxcomponent.doSomething();
}
});
}
}, delay, period);
I이 사용
을 할 수 있도록
new Thread() {
public void run() {
//Do some stuff in another thread
Platform.runLater(new Runnable() {
public void run() {
label.update();
javafxcomponent.doSomething();
}
});
}
}.start();
berry120의 대답은 너무 java.util.Timer와 함께 작동하고 완벽하게
JavaFX 응용 프로그램 스레드에서 이후 작업을 예약하려면 java.util.Timer
또는 java.util.concurrent.ScheduledExecutorService
이 필요하지 않습니다. 당신이 ReactFX에서 편리한 방법을 사용할 수 있습니다, 또는
new Timeline(new KeyFrame(
Duration.millis(2500),
ae -> doSomething()))
.play();
: 당신은 타이머로 자바 FX 타임 라인을 사용할 수 있습니다, 당신은 Platform.runLater
에 작업을 마무리 할 필요가 없습니다
FxTimer.runLater(
Duration.ofMillis(2500),
() -> doSomething());
참고 그것 때문에 JavaFX 응용 프로그램 스레드에서 이미 실행되었습니다.
ReactFX를 사용하는 경우 ReactFX의 타이머와 FxTimer를 일시 중지했다가 다시 시작 하시겠습니까? 나는 정기적으로 무언가를 저장하기 위해 그것을 사용하고있다. ReactFX에서 Timeline의 pause() 및 play()와 똑같은 pause() 및 play()가 있습니까? – mk7
- 1. 타이머와 asp.net
- 2. 동시에 타이머와 키 바인딩
- 3. 타이머와 일치하는 프로 시저
- 4. 타이머와 비동기 함께
- 5. 자바 타이머와 소켓 문제
- 6. SAXParser를 타이머와 AsyncTask를
- 7. 타이머와 Seekbar 동기화
- 8. 타이머와 TimerTask in java
- 9. jquery fadeOut div와 타이머와
- 10. 스윙 타이머와 ActionEvents에 관한 문제
- 11. 타이머와 폼이 닫히지 않았을 때
- 12. 콜백 스크립트 타이머와 콜백시 'this'포인터
- 13. uWSGI에서 타이머와 rbtimer의 차이점은 무엇입니까?
- 14. MPI 타이머와 CUDA 타이머의 차이점
- 15. 서비스 대 타이머와 스레드 수면
- 16. 타이머와 계산이 여러 인스턴스가 실행 중임
- 17. Firefox가 내 타이머와 상호 작용합니다. (followup)
- 18. C++에서 타이머와 timertask와 같은 것이 있습니까?
- 19. 프로그래밍 방식 타이머와 자동 타이머 - 차이
- 20. JUnit 테스트가 타이머와 올바르게 작동하지 않습니다.
- 21. WP7의 HttpWebRequest Timeout이 타이머와 함께 작동하지 않습니다.
- 22. 타이머와 성능 사이에 성능 차이가 있습니까?
- 23. 타이머와 디스패처 타이머 (에뮬레이터 대 장치)
- 24. actionscript3.0에서 객체 타이머와 점수를 중앙에 맞추는 방법
- 25. 부스트를 사용하여 보간 : 타이머와 slerp, quaternions
- 26. JavaFX : javafx-runtime의 최신 버전
- 27. javafx webview 및 javafx animation, svg
- 28. JavaFX 8 스킨을 JavaFX 8로 유지하려면 어떻게해야합니까?
- 29. JavaFX - JavaFX-Fallback-Class의 목적은 무엇입니까?
- 30. JavaFX 텍스트 영역의 여러 색상 (JavaFX 8)
[JavaFX에서 2 초마다 레이블을 업데이트하는 방법] (http://stackoverflow.com/questions/16128423/how-to-update-the-label-box-every-2-seconds-in-java)을 참조하십시오. -fx/16138351 # 16138351); 즉, [Platform.runLater] (http://docs.oracle.com/javafx/2/api/javafx/application/Platform.html#runLater (java.lang.Runnable))를 사용하여 별도의 스레드에서 UI를 업데이트하거나 UI 스레드에서 모든 것을 유지하려면 [JavaFX 애니메이션 프레임 워크] (http://docs.oracle.com/javafx/2/api/javafx/animation/package-summary.html)를 참조하십시오. – jewelsea