Package ejmf.examples.basics

Source Code of ejmf.examples.basics.VideoTooListener$AddComponentsThread

package ejmf.examples.basics;

import java.awt.BorderLayout;
import java.awt.Component;

import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.Player;
import javax.media.RealizeCompleteEvent;
import javax.media.Time;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;


/**
* A ControllerListener class that adds visual
* component once realized state is reached.
*/
public class VideoTooListener implements ControllerListener {
  private JPanel panel;
  private Component cpc, vc;

  public VideoTooListener(JPanel panel) {
      this.panel = panel;
        }

  public void controllerUpdate(ControllerEvent event) {
      Player player = (Player) event.getSourceController();
      if (event instanceof EndOfMediaEvent) {
            player.setMediaTime(new Time(0));
            }
      else if (event instanceof RealizeCompleteEvent) {
    SwingUtilities.invokeLater(new AddComponentsThread(player));
      }
  }
 
        class AddComponentsThread implements Runnable {
      private Player player;

      public AddComponentsThread(Player player) {
    this.player = player;
      }

      public void run() {
          cpc = player.getControlPanelComponent();
    if (cpc != null)
              panel.add(cpc, BorderLayout.SOUTH);

        vc = player.getVisualComponent();
    if (vc != null)
        panel.add(vc, BorderLayout.NORTH);
 
    panel.validate();
      }
  }
    }
TOP

Related Classes of ejmf.examples.basics.VideoTooListener$AddComponentsThread

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.