간격 시간이 100 밀리 초인 일부 이미지를 표시하고 싶지만 화면에 표시 할 때 일부는 표시되지만 일부는 표시되지 않습니다 (임의 순서). 여기 내 코드의 일부입니다자바에서 이미지를 100ms 간격으로 표시합니다.
panel = new ShowImage(Integer.toString(ImageRand+1),kind); // show random images
//panel.setIgnoreRepaint(false);
frame.getContentPane().add(panel);
frame.validate();
while(panel.isShowing()!=true);
panel.setVisible(true);
start=System.currentTimeMillis();
while(System.currentTimeMillis()-start < 100);
심지어 내가 사용한 nanoTime() 함수하지만 제대로
편집 작동하지 않습니다
나는이 두 줄을 추가하기 전에 :
를while (panel.isShowing()! = true);
panel.setVisible(true);
내 코드는 다음과 같이 보았다 :
패널 = 새로운 ShowImage (가지는 Integer.toString (ImageRand + 1) 종류);
frame.getContentPane().add(panel);
frame.validate();
start=System.currentTimeMillis();
while(System.currentTimeMillis()-start < 100);
는 그냥 화면에 이미지를 표시 한 후 100 밀리 초를 기다리고, 다시이 코드를 실행 (나는 주 프로그램의 시작 부분에 한 번만 각 이미지를로드) 내 문제는 의미 : 간격을 이미지가 서로 같지 않다면 입니다. 그런 다음 추가 (panel.isShowing()! = true); 내 패널이 화면에 있는지 확인하려면 (이 작업을 수행하는 동안 100ms를 기다리기 전에 패널이 화면)하지만 동일한 문제가 있습니다.
이와 같은 루프를 수행하는 동안 또는 의사 코드가되는 동안 정말 굳건한 의도입니까? –
응용 프로그램의 CPU 사용량을 훨씬 줄이려면 비어있는 while 루프 대신 Thread.sleep (100)을 사용하십시오. – Vulcan
잠자기가 아닌 간격의 타이머 사용 ... http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html – Adam