title: Show video to JPanel
body: <p>I am creating a simple video player but I'm having problem to show the video file to stream in JPanel. I've created and designed a JFrame and put a square size JPanel inside the form.</p>
  
  <p>Here is my codes so far:</p>
  
  <pre><code>package SoundsTrip;
  
  import java.awt.BorderLayout;
  import java.awt.Component;
  import java.io.IOException;
  import java.net.MalformedURLException;
  import java.net.URL;
  import java.util.logging.Level;
  import java.util.logging.Logger;
  import javax.media.CannotRealizeException;
  import javax.media.Manager;
  import javax.media.NoPlayerException;
  import javax.media.Player;
  import javax.swing.JFileChooser;
  import javax.swing.JOptionPane;
  
  /**
   *
   * @author jmoreno
   */
  public class VideoFrame extends javax.swing.JFrame {
      /** Creates new form VideoFrame */
      public VideoFrame() {
          initComponents();
          //this.setExtendedState(VideoFrame.MAXIMIZED_BOTH);
          this.setSize(650, 500);
      }
  
      /** This method is called from within the constructor to
       * initialize the form.
       * WARNING: Do NOT modify this code. The content of this method is
       * always regenerated by the Form Editor.
       */
      @SuppressWarnings("unchecked")
      // &lt;editor-fold defaultstate="collapsed" desc="Generated Code"&gt;
      private void initComponents() {
  
          jPanel1 = new javax.swing.JPanel();
          jButton1 = new javax.swing.JButton();
  
          setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
          getContentPane().setLayout(null);
  
          javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
          jPanel1.setLayout(jPanel1Layout);
          jPanel1Layout.setHorizontalGroup(
              jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
              .addGap(0, 450, Short.MAX_VALUE)
          );
          jPanel1Layout.setVerticalGroup(
              jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
              .addGap(0, 330, Short.MAX_VALUE)
          );
  
          getContentPane().add(jPanel1);
          jPanel1.setBounds(10, 10, 450, 330);
  
          jButton1.setText("Open Video/Movie");
          jButton1.addActionListener(new java.awt.event.ActionListener() {
              public void actionPerformed(java.awt.event.ActionEvent evt) {
                  jButton1ActionPerformed(evt);
              }
          });
          getContentPane().add(jButton1);
          jButton1.setBounds(470, 10, 160, 23);
  
          pack();
      }// &lt;/editor-fold&gt;
  
      private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
          // TODO add your handling code here:
          try {
              openMedia();
          } catch (IOException ex) {
              Logger.getLogger(SoundBytePlaying.class.getName()).log(Level.SEVERE, null, ex);
          } catch (CannotRealizeException ex) {
              Logger.getLogger(SoundBytePlaying.class.getName()).log(Level.SEVERE, null, ex);
          }
      }
  
      public void openMedia() throws IOException, CannotRealizeException{
          JFileChooser fileChooser = new JFileChooser();
          int result = fileChooser.showOpenDialog(null);
          if(result == JFileChooser.APPROVE_OPTION){
              URL mediaURL = null;
              try{
                  mediaURL = fileChooser.getSelectedFile().toURL();
              }catch(MalformedURLException malformedURLException){
                  JOptionPane.showMessageDialog(null, "Could not create URL for the file");
              }
              if(mediaURL != null){
                  **showVideo() //some error here**
              }
          }
      }
  
      public void showVideo(URL mediaURL){
          Manager.setHint( Manager.LIGHTWEIGHT_RENDERER, true );
  
          try{
              //create a player to play the media specified in the URL
              Player mediaPlayer = Manager.createRealizedPlayer( mediaURL );
  
              //get the components for the video and the playback controls
              Component video = mediaPlayer.getVisualComponent();
              Component controls = mediaPlayer.getControlPanelComponent();
  
              if ( video != null )
                  add( video, BorderLayout.CENTER ); //add video component
              if ( controls != null )
                  add( controls, BorderLayout.SOUTH ); //add controls
  
                  mediaPlayer.start(); //start playing the media clip
          } //end try
          catch ( NoPlayerException noPlayerException ){
              JOptionPane.showMessageDialog(null, "No media player found");
          } //end catch
          catch ( CannotRealizeException cannotRealizeException ){
              JOptionPane.showMessageDialog(null, "Could not realize media player.");
          } //end catch
          catch ( IOException iOException ){
              JOptionPane.showMessageDialog(null, "Error reading from the source.");
          } //end catch
      }
  
      /**
      * @param args the command line arguments
      */
      public static void main(String args[]) {
          java.awt.EventQueue.invokeLater(new Runnable() {
              public void run() {
                  new VideoFrame().setVisible(true);
              }
          });
      }
  
      // Variables declaration - do not modify
      private javax.swing.JButton jButton1;
      private javax.swing.JPanel jPanel1;
      // End of variables declaration
  
  }
  </code></pre>
  
  <p>Many thanks to any idea and help I could get here... :)</p>