2016-09-06 6 views
-3

이 주제와 관련하여 몇 가지 질문이 있지만 그 중 어느 것도 솔루션을 찾을 수 없었습니다. 두 개의 애니메이션이 있습니다. 몇 초 후에 애니메이션을 실행하고 싶습니다. 예를 보여 드리겠습니다.JavaFX - UI 동결없이 대기하는 방법?

마우스를 클릭 할 때마다 애니메이션이 기본 지연 시간으로 재설정됩니다 (5 초). 내가 아무 것도하지 않으면 시간이 없어 질 때까지 도망 간다. 그리고 에 도달했을 때 0 초에 도달하면 애니메이션은 start()이됩니다. 등등.

물론 Thread.sleep()은 임무가 완료 될 때까지 내 UI를 고정시킵니다. 그리고 그 작업이 복잡하지 않기 때문에 Thread, Task 또는 다른 클래스를 사용해야할지 모르겠습니다.

여러 가지 방법이 있지만 멀티 스레딩에 익숙하지 않아 효율적으로 사용하는 방법을 배우고 싶습니다. 너희들에게 많이 감사한다.

+2

스레딩이 필요하지 않습니다. 애니메이션 API는 이미 설명하고있는 일을 처리하는 데 필요한 모든 것을 갖추고 있습니다. 귀하의 설명은 매우 명확하지 않습니다. 게시물을 편집하고 지금까지 가지고있는 코드 중 일부를 보여줄 수 있습니까? (이해할 수 있듯이 사용자가 아무 것도하지 않으면 애니메이션이 반복적으로 실행되지만 사용자가 마우스를 클릭하면 얼마 동안 일시 중지 된 다음 처음부터 다시 시작됩니까?) –

+0

정확합니다. 이 경우에는 코드가 필요 없다고 생각합니다. 나는 그것을 할 방법이나 몇 가지 방법 이름이 필요합니다. – Rouman

+2

몇 가지 코드를 보여줌으로써 질문에 쉽게 대답 할 수 있습니다. 아무도 정말로 처음부터 코드를 작성하여 * 문제를 해결하려고하지 않으므로 이해하는 부분을 수행하는 완전한 실행 가능 예제를 제공하면 대답하기가 훨씬 쉽습니다. 그것이 필요 이상으로 당신을 도우려고 어렵지 마십시오. –

답변

2

당신은 아마

timeline.setCycleCount(Animation.INDEFINITE); 

이 무한정 반복하기 위해, 타임 라인이 시작되기 전에 지연을 지정

timeline.setDelay(...); 

를 사용하여 원하는 것을 얻을 수 있고,

timeline.playFromStart(); 

에 처음부터 다시 시작하십시오 (지정된 지연 후).

+0

알겠습니다. 고마워요. – Rouman

+3

@ 루만 일반적으로 질문에 대한 답변을 수락해야합니다 (현재까지 답변을 수락하지 않은 경우). 이렇게하면 다른 사용자가 비슷한 질문을하면 대답을 찾을 수 있습니다. 이 경우, 귀하의 질문이 다른 사람들을 도울만큼 명확하다고 나는 믿을 수 없으므로 (아마도 귀하의 의견은 다를 수 있습니다), 그러나 귀하의 다른 질문 중 일부는 받아 들여 져야 할 답변을 가지고 있기 때문에 아마도 논점이 될 것입니다. –

+0

문제는 이전 답변이 그다지 도움이되지 못했다는 것입니다. 그들은 나에게 아이디어를 주었지만 전혀 문제를 해결하지 못했습니다. 위의 답변을 주셔서 감사하지만이 하나도 도움이되지 않았다. 그래서 나는 지역 사회를 돕는 것에 관심이 없다. 나는 상관하지 않는다. 이것은시 (shi)위원회이며, 나는 더 나은 것을 찾을 것이다.질문에 필요한 모든 것이 포함되어 있어도이 플랫폼에 많은 "전문가"가있어 일부 유용한 팁을 줄 수없는 것처럼 보입니다. – Rouman

관련 문제