コード例 #1
0
ファイル: DecimatedTrail.java プロジェクト: Sciss/Meloncillo
  public final void addAsyncListener(AsyncListener l) {
    if (!isBusy()) {
      l.asyncFinished(new AsyncEvent(this, AsyncEvent.FINISHED, System.currentTimeMillis(), this));
      return;
    }
    if (asyncManager == null) {
      asyncManager =
          new EventManager(
              new EventManager.Processor() {
                public void processEvent(BasicEvent e) {
                  final AsyncEvent ae = (AsyncEvent) e;
                  AsyncListener al;

                  for (int i = 0; i < asyncManager.countListeners(); i++) {
                    al = (AsyncListener) asyncManager.getListener(i);
                    switch (e.getID()) {
                      case AsyncEvent.UPDATE:
                        al.asyncUpdate(ae);
                        break;
                      case AsyncEvent.FINISHED:
                        al.asyncFinished(ae);
                        break;
                      default:
                        assert false : e.getID();
                        break;
                    }
                  }
                }
              });
    }
    asyncManager.addListener(l);
  }
コード例 #2
0
ファイル: SelectPathButton.java プロジェクト: ynohtna/FScape
 /**
  * Register a <code>PathListener</code> which will be informed about changes of the path (i.e.
  * user selections in the file chooser).
  *
  * @param listener the <code>PathListener</code> to register
  * @see de.sciss.app.EventManager#addListener( Object )
  */
 public void addPathListener(PathListener listener) {
   elm.addListener(listener);
 }