Java Web Start에서 내 응용 프로그램을 올바르게 실행하지 않는 문제가있는 것 같습니다. 애플리케이션으로 코드를 실행하면 (예 : 웹 시작이없는 경우) 다음 코드는 재생중인 사운드의 중지와 애니메이션 중단을 초래합니다.Java Web Start에서 실행될 때 스윙 타이머가 실행 이벤트를 중지하지 않습니다.
if (evt.getSource() == stopButton)
{
if (clipPlayer != null)
{
//Stop the sound from playing
clipPlayer.stopPlaying();
}
for (int i = 0; i < rhythmWheel.NUM_WHEELS; i++)
{
rhythmWheel.getWheelPanels()[i].wheel.setRotationAngle(0);
}
//Stop the wheel from rotating.
paintTimer.stop();
}
그러나이 코드가 웹 시작을 통해 실행되면 사운드는 재생되지 않지만 애니메이션은 계속됩니다. Timer에서 actionListener를 제거하면 웹 시작시에도 애니메이션이 중단되므로 결과적으로 Timer가 이벤트를 계속 발생시키는 것이 원인이라고 생각합니다.
Java Web Start에서 실행할 때 Timer가 이벤트를 중지하도록 강제로 적용하려면 어떻게합니까?
프로그램에 버그가 있지만 코드의 다른 부분 (여기에 표시되지 않은 코드)에있는 것으로 의심됩니다. –
프로그램에 버그가있을 수 있다고 확신하지만,이 버그가 Java Web Start에서 실행될 때 프로그램에 표시되는 이유와 응용 프로그램으로 실행되지 않는 이유를 알고 싶습니다. –
아직 설명 할 수 없지만 디버그 문을 사용하고 코드를 잘라내어 문제를 격리 할 때까지 프로그램을 단순화 해보십시오. –