2017-03-03 1 views
0

지금은 일정이있는 일정 시간 동안 표시되는 이미지 목록이 있습니다. 그러나 각 후 이미지가 표시되지 않는 작은 일시 중지가 필요합니다. 그 행동을 성취 할 수있는 방법이 있습니까? 이제 각 사진이 표시되는 10 초 동안으로Javafx는 각 타임 라인 "주기"사이에 일시 중지

ImageView imView = new ImageView(); 

Duration timeBetweenImages = Duration.millis(10000); 
Timeline timeline = new Timeline(); 

for (int i = 0; i < imageList.size(); i++) { 
    Image image = imageList.get(i); 
    Duration frameTime = timeBetweenImages.multiply(i); 
    KeyFrame frame = new KeyFrame(frameTime, e -> imView.setImage(image)); 
    timeline.getKeyFrames().add(frame); 
} 

timeline.play(); 

: 여기

는 지금까지 사용하는 코드입니다. 각 10 초 후에 이미지가 표시되지 않는 곳에 1 초의 일시 중지가 필요합니다.

답변

1
ImageView imView = new ImageView(); 

Duration timeBetweenImages = Duration.seconds(11); 
Duration pauseTime = Duration.seconds(1); 
Timeline timeline = new Timeline(); 

for (int i = 0; i < imageList.size(); i++) { 
    Image image = imageList.get(i); 
    Duration frameTime = timeBetweenImages.multiply(i); 
    KeyFrame frame = new KeyFrame(frameTime, e -> imView.setImage(image)); 
    timeline.getKeyFrames().add(frame); 

    Duration pauseFrameTime = timeBetweenImages.multiply(i+1).subtract(pauseTime); 
    KeyFrame pauseFrame = new KeyFrame(pauseFrameTime, e -> imView.setImage(null)); 
    timeline.getKeyFrames().add(pauseFrame); 
} 

timeline.play(); 
+0

이것을 전환과 결합 할 수 있는지 알고 계십니까? ImageView에 RotationTransition을 추가했는데 슬프게도 타이밍은 꺼져 있습니다. (이미지를 표시하고 360도 회전 한 다음 1 초 멈추고 다음 이미지와 동일하게 회전해야합니다.) –

+0

'RotateTransition'은'새로운 KeyValue (imView.rotateProperty, value) '를 사용하는 키 프레임을'Timeline'에 추가하기 만합니다 .. –

+0

'RotateTransition'과 함께 작동하지 않습니까? 나중에' ParallelTransition'을 사용하여 동시에 여러 전환을 수행 할 수 있습니다. –

관련 문제