Java에서 작업중인 이미지 JWindows를 사용하여 이미지를 표시하는 스윙 ... 표시하려는 이미지가 다른 JLabel에 포함되어 있습니다. 이전에 추가 된 구성 요소를 제거하고 새 구성 요소를 추가합니다. 문제는 다음과 같습니다.이미지의 슬라이드 쇼를 표시하기 위해 슬립을 구현하는 방법
코드는 절전 기능없이 완벽하게 작동합니다. 이벤트 완료시 다른 창이나 동일한 창에 모든 이미지를 표시 할 수 있습니다. 그러나 잠자기를 사용하면이 기간 동안 아무 것도 표시되지 않습니다 ...
이미지에 지연을 구현할 수있는 방법이 있습니까? 슬라이드 쇼와 같이 지연 이전에 그려진 이미지를 가지고 있습니까?
getContentPane().remove(startLabel);
getContentPane().add(recordLabel1, "Center");
setVisible(true);
try {
Thread.sleep(500);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
getContentPane().remove(recordLabel1);
getContentPane().add(recordLabel2, "Center");
try {
Thread.sleep(500);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
getContentPane().remove(recordLabel2);
getContentPane().add(recordLabel3, "Center");
try {
Thread.sleep(500);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
getContentPane().remove(recordLabel3);
getContentPane().add(recordLabel4, "Center");
try {
Thread.sleep(500);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
getContentPane().remove(recordLabel4);
getContentPane().add(pausedLabel, "Center");
setVisible(false);
편집 : 구성 요소를 추가 및 제거하는 대신 고정 된 JLabel에서 이미지를 변경해 보았습니다 ... 작동하지 않았습니다! –
편집 : 다른 이미지가 보이고 보이지 않는 여러 개의 서로 다른 겹쳐진 창을 토글하려고했습니다 ... 작동하지 않았습니다! –
아래의 답변에서 설명하지 않은 것은 아무 일도 일어나지 않는 이유입니다. 코드가 Swing 이벤트 스레드에서 실행되고 잠을 자면 해당 스레드가 일시 중지됩니다. 스윙 구성 요소를 업데이트하고 표시하려면 스레드가 필요합니다. 따라서 잠 들어있는 동안 아무 것도 일어나지 않습니다. –