package tmcsim.cadsimulator.videocontrol;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.rmi.CORBA.Tie;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JTextField;


@SuppressWarnings("serial")
public class PioneerV5000TestController extends JFrame implements ActionListener{
                
    PioneerV5000 cntrl = null;  
        
    public static void main(String[] args) {
        new PioneerV5000TestController();       
    }
    
    public PioneerV5000TestController() {
        super("SUPER AWESOME DVD CONTROLLER");

        try {
            cntrl = new PioneerV5000();
            cntrl.setConnectionInfo("192.168.251.9", 3002);
            cntrl.connect();
        }
        catch (IOException ioe) {
            ioe.printStackTrace();
        }

        
        initialize();
        
        addWindowListener(new WindowListener() {
            public void windowClosed(WindowEvent e)  {}
            public void windowOpened(WindowEvent e)  {}            
            public void windowIconified(WindowEvent e)  {}         
            public void windowDeiconified(WindowEvent e)  {}    
            public void windowActivated(WindowEvent e)  {}                             
            public void windowDeactivated(WindowEvent e)  {}         
            public void windowClosing(WindowEvent e)  {                 
                cntrl.disconnect();                
                System.exit(0);
            }                   
            
        });
    }
    
    public void actionPerformed(ActionEvent evt) {
    
        try {
            if(evt.getSource().equals(addDVDButton)) {
                
            }
            else if(evt.getSource().equals(delDVDButton)) { 
                
            }
            else if(evt.getSource().equals(openButton)) { 
                cntrl.open();
            }
            else if(evt.getSource().equals(closeButton)) { 
                cntrl.close();          
            }
            else if(evt.getSource().equals(rewButton)) { 
                cntrl.scanReverse();
            }
            else if(evt.getSource().equals(ffButton)) { 
                cntrl.scanForward();
            }
            else if(evt.getSource().equals(playButton)) { 
                cntrl.play();
            }
            else if(evt.getSource().equals(pauseButton)) { 
                cntrl.pause();
            }
            else if(evt.getSource().equals(stopButton)) {
                
            }
            else if(evt.getSource().equals(cmdStackButton)) {
                cntrl.repeatTitle(Integer.parseInt(titleTF.getText()));
            }
            else if(evt.getSource().equals(uploadButton)) {
                /*
                //file chooser
                JFileChooser fc = new JFileChooser();
                
                if(fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
                    
                    StringBuffer cmdStack = new StringBuffer();
                    
                    try {
                        FileInputStream fis = new FileInputStream(
                                fc.getSelectedFile());
                        
                        while(fis.available() > 0) {
                            cmdStack.append(fis.read());
                        }
                        fis.close();
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    
                    cntrl.upload(cmdStack.toString());
                }
                */
                cntrl.upload("24680200000000100020003000400050006000700080009000A000B000C000D000E000F0010001100120013001400150016001700180019001A001B001C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF001D0009FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000001D0A4A0A1A0A0A0A0A0A1A9A9A9A9A9A9A0A4A9AAA3000000000000000000000000FF000000000000000000000000000000A4A0A2A0A0A0A0A0A1A9A9A9A9A9A9A1A4A9AAA3000000000000000000000000FF000000000000000000000000000000A4A0A3A0A0A0A0A0A1A9A9A9A9A9A9A2A4A9AAA3000000000000000000000000FF000000000000000000000000000000A4A0A4A0A0A0A0A0A1A9A9A9A9A9A9A3A4A9AAA3000000000000000000000000FF000000000000000000000000000000A4A0A5A0A0A0A0A0A1A9A9A9A9A9A9A4A4A9AAA3000000000000000000000000FF000000000000000000000000000000A4A0A6A0A0A0A0A0A1A9A9A9A9A9A9A5A4A9AAA3000000000000000000000000FF000000000000000000000000000000A4A0A7A0A0A0A0A0A1A9A9A9A9A9A9A6A4A9AAA3000000000000000000000000FF000000000000000000000000000000A4A0A8A0A0A0A0A0A1A9A9A9A9A9A9A7A4A9AAA3000000000000000000000000FF000000000000000000000000000000A4A0A9A0A0A0A0A0A1A9A9A9A9A9A9A8A4A9AAA3000000000000000000000000FF000000000000000000000000000000A4A1A0A0A0A0A0A0A1A9A9A9A9A9A9A0A4A9AAA30000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050917");
                
            }
            else if(evt.getSource().equals(downloadButton)) {
                JFileChooser fc = new JFileChooser();
                
                if(fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {

                    String cmdStack = cntrl.download();
                    
                    System.out.println(cmdStack);
                    
                    try {
                        FileOutputStream fos = new FileOutputStream(
                                fc.getSelectedFile());
                        
                        fos.write(cmdStack.getBytes());                     
                        fos.close();
                        
                    } catch (Exception e) {
                        e.printStackTrace();
                    }                   
                }
                
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    protected void initialize() {
        
        addDVDButton = new JButton("ADD DVD");
        addDVDButton.addActionListener(this);
        
        delDVDButton = new JButton("DEL DVD");
        delDVDButton.addActionListener(this);
        
        playerMgmtBox = new Box(BoxLayout.X_AXIS);
        playerMgmtBox.add(Box.createHorizontalGlue());
        playerMgmtBox.add(addDVDButton);
        playerMgmtBox.add(Box.createHorizontalGlue());
        playerMgmtBox.add(delDVDButton);
        playerMgmtBox.add(Box.createHorizontalGlue());  
                
        
        openButton  = new JButton("OPEN");
        openButton.addActionListener(this);
        
        closeButton = new JButton("CLOSE");
        closeButton.addActionListener(this);
        
        doorCntrlBox = new Box(BoxLayout.X_AXIS);
        doorCntrlBox.add(Box.createHorizontalGlue());
        doorCntrlBox.add(openButton);
        doorCntrlBox.add(Box.createHorizontalGlue());
        doorCntrlBox.add(closeButton);
        doorCntrlBox.add(Box.createHorizontalGlue());
        
        rewButton  = new JButton("REW");
        rewButton.addActionListener(this);
        
        playButton = new JButton("PLAY");
        playButton.addActionListener(this);
        
        ffButton   = new JButton("FF");     
        ffButton.addActionListener(this);
        
        buttonRowBox1 = new Box(BoxLayout.X_AXIS);
        buttonRowBox1.add(Box.createHorizontalGlue());
        buttonRowBox1.add(rewButton);
        buttonRowBox1.add(Box.createHorizontalGlue());
        buttonRowBox1.add(playButton);
        buttonRowBox1.add(Box.createHorizontalGlue());
        buttonRowBox1.add(ffButton);
        buttonRowBox1.add(Box.createHorizontalGlue());
                
        
        pauseButton  = new JButton("PAUSE");
        pauseButton.addActionListener(this);
        
        stopButton   = new JButton("STOP");
        stopButton.addActionListener(this);
        
        buttonRowBox2 = new Box(BoxLayout.X_AXIS);
        buttonRowBox2.add(Box.createHorizontalGlue());
        buttonRowBox2.add(pauseButton);
        buttonRowBox2.add(Box.createHorizontalGlue());
        buttonRowBox2.add(stopButton);
        buttonRowBox2.add(Box.createHorizontalGlue());
        

        titleTF = new JTextField();
        
        cmdStackButton = new JButton("REPEAT");
        cmdStackButton.addActionListener(this);

        buttonRowBox3 = new Box(BoxLayout.X_AXIS);
        buttonRowBox3.add(Box.createHorizontalGlue());
        buttonRowBox3.add(titleTF);
        buttonRowBox3.add(Box.createHorizontalGlue());
        buttonRowBox3.add(cmdStackButton);
        buttonRowBox3.add(Box.createHorizontalGlue());
                        
        uploadButton  = new JButton("UPLOAD");
        uploadButton.addActionListener(this);
        
        downloadButton   = new JButton("DOWNLOAD");
        downloadButton.addActionListener(this);
        
        buttonRowBox4 = new Box(BoxLayout.X_AXIS);
        buttonRowBox4.add(Box.createHorizontalGlue());
        buttonRowBox4.add(uploadButton);
        buttonRowBox4.add(Box.createHorizontalGlue());
        buttonRowBox4.add(downloadButton);
        buttonRowBox4.add(Box.createHorizontalGlue());
        
                        
        controllerBox = new Box(BoxLayout.Y_AXIS);
        controllerBox.add(Box.createVerticalStrut(15));
        controllerBox.add(playerMgmtBox);
        controllerBox.add(Box.createVerticalStrut(15));
        controllerBox.add(doorCntrlBox);
        controllerBox.add(Box.createVerticalStrut(15));
        controllerBox.add(buttonRowBox1);
        controllerBox.add(Box.createVerticalStrut(15));
        controllerBox.add(buttonRowBox2);
        controllerBox.add(Box.createVerticalStrut(15));
        controllerBox.add(buttonRowBox3);
        controllerBox.add(Box.createVerticalStrut(15));
        controllerBox.add(buttonRowBox4);
        controllerBox.add(Box.createVerticalStrut(15));
        
        
        add(controllerBox);
        
        pack();
        setVisible(true);
    }
    
    protected JButton addDVDButton;
    protected JButton delDVDButton;
    protected JButton openButton;
    protected JButton closeButton;
    protected JButton rewButton;
    protected JButton playButton;
    protected JButton ffButton;
    protected JButton pauseButton;
    protected JButton stopButton;
    protected JButton cmdStackButton;
    protected JButton uploadButton;
    protected JButton downloadButton;
    
    protected JTextField titleTF;
    
    protected Box controllerBox;
    protected Box playerMgmtBox;
    protected Box doorCntrlBox;
    protected Box buttonRowBox1;
    protected Box buttonRowBox2;
    protected Box buttonRowBox3;
    protected Box buttonRowBox4;
    
}