netbeans gui에서 일종의 애니메이션을 만들어야했습니다. 그래서 인터넷에서 스윙 타이머에 대해 공부하고 있었고 특정 시간 이후에 jLabel에서 이미지를 변경하는 방법을 발견했습니다.특정 간격 후에 jLabel에서 이미지를 변경
public void animation() throws InterruptedException {
ActionListener taskPerformer = new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
//...Perform a task...
t++;
System.out.printf("Reading SMTP Info. %d\n",t);
if(t%2==1){
jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/oncsreen_keypad/a.jpg")));
}
else{
jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/oncsreen_keypad/b.jpg")));
}
}
};
Timer timer = new Timer(1000 , taskPerformer);
//timer.setRepeats(false);
timer.start();
Thread.sleep(5000);
}
이 방법은 아무데도 호출되지 않습니다. 그러나 System.out.printf가 작동하면 jLabel에서 이미지를 변경해도 작동해야합니다. 하지만 실제로 실행중인 라인은 jLabel에 영향을 미치지 않습니다.
그래서 올바른 접근 방식이되어야합니다.
에게 도움이? – vanza
질문을 편집하여 설명하는 문제가있는 [* 최소, 완료, 테스트되고 읽을 수있는 예 *] (http://stackoverflow.com/help/mcve)를 포함하십시오. 몇 가지 예제가 인용 [여기] (http://stackoverflow.com/a/14432646/230513). – trashgod
이 [보기] (http://stackoverflow.com/a/10837751/1057230)를보십시오. 추가로 [links] (http://stackoverflow.com/a/9866659/1057230) 도움이 될 수도 있습니다 :-) –