在基于Swing的应用程序中使用JSlider实现搜索媒体文件

时间:2012-04-07 20:04:46

标签: java swing jslider

我正在使用jlGUI和jAudiotagger库创建一个简单的媒体播放器。

随着播放的进行,我使用了JSlider来实现自动移动指示器。

现在,我必须通过拖动来实现搜索文件,方法是注册该滑块以生成事件。

所以问题是,当注册导引头时,自动寻找滑块(在播放时)也会导致一个ChangeEvent,所以它一次又一次地寻找自己的位置。

如何实施?

1 个答案:

答案 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
    }
  }
}