我似乎遇到了Java Web Start的問題,無法正確運行我的應用程序。當我將代碼作爲應用程序運行時(即無需web啓動),以下代碼將導致正在播放的聲音停止並停止播放動畫。在Java Web Start中運行Swing Timer不會停止觸發事件
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繼續觸發事件引起的,因爲從Timer中移除actionListener會導致動畫在web start中停止。
如何在Java Web Start中運行時強制應用程序使Timer停止觸發事件?
我懷疑你的程序有一個錯誤,但它是在你的代碼的另一部分,在代碼中沒有顯示。 –
雖然我確定該程序可能有錯誤,但我想知道爲什麼在Java Web Start下運行時程序出現在程序中,而不是在作爲應用程序運行時出現。 –
我也無法解釋它,但我建議您使用調試語句並嘗試削減代碼,嘗試簡化程序直至找出問題。 –