我似乎遇到了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下运行时程序出现在程序中,而不是在作为应用程序运行时出现。 –
我也无法解释它,但我建议您使用调试语句并尝试削减代码,尝试简化程序直至找出问题。 –