我正在使用jlGUI和jAudiotagger库创建一个简单的媒体播放器。
随着播放的进行,我使用了JSlider来实现自动移动指示器。
现在,我必须通过拖动来实现搜索文件,方法是注册该滑块以生成事件。
所以问题是,当注册导引头时,自动寻找滑块(在播放时)也会导致一个ChangeEvent,所以它一次又一次地寻找自己的位置。
如何实施?
答案 0 :(得分:2)
如何创建ChangeListener
,让您通过方法调用打开和关闭它?
因此,当您处于动画模式时,它会忽略stateChanged()
个事件。
当用户点击JSlider
(通过MouseListener
识别时),停止动画并致电MyChangeListener.setAnimationMode(false)
,以便您的听众对用户互动作出反应。
public class MyChangeListener implements ChangeListener
{
boolean animationMode = true;
public void setAnimationMode( boolean mode )
{
this.mode = true;
}
@Override
public void stateChanged(ChangeEvent arg0)
{
if ( !animationMode )
{
// do stuff
}
}
}