2

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

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

现在,我必须通过注册该滑块来生成事件来实现通过拖动来查找文件。

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

我该如何实施?

4

1 回答 1

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
    }
  }
}
于 2012-04-07T21:27:34.557 回答