package brtestgratings;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.vecmath.*;

public class Frame1 extends JFrame
{

  double Width, Radius, Speed;
  JPanel contentPane;
  JLabel jLabel1 = new JLabel();
  JLabel jLabel2 = new JLabel();
  JLabel jLabel3 = new JLabel();
  JLabel jLabel4 = new JLabel();
  JLabel jLabel5 = new JLabel();
  JTextField jTextField1 = new JTextField();
  JTextField jTextField2 = new JTextField();
  JTextField jTextField3 = new JTextField();
  JButton jButton1 = new JButton();
  static Dimension screenSize =java.awt.
            Toolkit.getDefaultToolkit().getScreenSize();
  static Color3f blue  = new Color3f(0.0f, 0.0f, 1.0f);
  static Color3f red  = new Color3f(1.0f, 0.0f, 0.0f);
  static Color3f green  = new Color3f(0.0f, 1.0f, 0.0f);
  JButton jButton2 = new JButton();
  //Construct the frame
  public Frame1() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception
  {
  ImageIcon imageIcon = new ImageIcon("logo.jpg");
  this.setIconImage(imageIcon.getImage());
    contentPane = (JPanel) this.getContentPane();
    jLabel1.setFont(new java.awt.Font("Serif", 1, 26));
    jLabel1.setForeground(Color.red);
    jLabel1.setText("Select Your Parameter");
    jLabel1.setBounds(new Rectangle(62, 12, 266, 33));
    contentPane.setLayout(null);
    this.setSize(new Dimension(400, 300));
    this.setTitle("SelectingFrame");
    jLabel2.setFont(new java.awt.Font("Serif", 1, 20));
    jLabel2.setForeground(Color.blue);
    jLabel2.setText("(Default Values Given)");
    jLabel2.setBounds(new Rectangle(92, 47, 207, 30));
    jLabel3.setFont(new java.awt.Font("Serif", 1, 20));
    jLabel3.setForeground(Color.blue);
    jLabel3.setText("Width");
    jLabel3.setBounds(new Rectangle(55, 100, 115, 25));
    jLabel4.setFont(new java.awt.Font("Serif", 1, 20));
    jLabel4.setForeground(Color.blue);
    jLabel4.setText("Diameter");
    jLabel4.setBounds(new Rectangle(55, 130, 115, 25));
    jLabel5.setFont(new java.awt.Font("Serif", 1, 20));
    jLabel5.setForeground(Color.blue);
    jLabel5.setText("Speed");
    jLabel5.setBounds(new Rectangle(55, 160, 115, 25));
    jTextField1.setText("1");
    jTextField1.setBounds(new Rectangle(190, 101, 63, 21));
    jTextField1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
//        jTextField1_actionPerformed(e);
     double width=Double.valueOf(jTextField1.getText()).doubleValue();
     Width=width;
      }
    });
    jTextField2.setText("0.3");
    jTextField2.setBounds(new Rectangle(190, 130, 63, 21));
    jTextField2.addInputMethodListener(new java.awt.event.InputMethodListener() {
      public void inputMethodTextChanged(InputMethodEvent e) {
      }
      public void caretPositionChanged(InputMethodEvent e) {
        jTextField2_caretPositionChanged(e);
      }
    });
    jTextField3.setText("1");
    jTextField3.setBounds(new Rectangle(190, 160, 63, 21));
    jTextField3.addInputMethodListener(new java.awt.event.InputMethodListener() {
      public void inputMethodTextChanged(InputMethodEvent e) {
      }
      public void caretPositionChanged(InputMethodEvent e) {
        jTextField3_caretPositionChanged(e);
      }
    });
    jButton1.setBounds(new Rectangle(30, 216, 130, 45));
    jButton1.setFont(new java.awt.Font("Serif", 1, 36));
    jButton1.setForeground(Color.red);
    jButton1.setText("Start");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButton1_actionPerformed(e);
      }
    });
    jButton2.setBounds(new Rectangle(202, 216, 130, 45));
    jButton2.setFont(new java.awt.Font("Serif", 1, 36));
    jButton2.setForeground(Color.red);
    jButton2.setText("Stop");
    jButton2.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(ActionEvent e) {
        jButton2_actionPerformed(e);
      }
    });
    contentPane.add(jLabel1, null);
    contentPane.add(jLabel3, null);
    contentPane.add(jLabel2, null);
    contentPane.add(jLabel4, null);
    contentPane.add(jLabel5, null);
    contentPane.add(jTextField2, null);
    contentPane.add(jTextField3, null);
    contentPane.add(jButton1, null);
    contentPane.add(jButton2, null);
    contentPane.add(jTextField1, null);
  }
  //Overridden so we can exit when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      System.exit(0);
    }
  }

  void jButton1_actionPerformed(ActionEvent e)
  {
   Width=Double.valueOf(jTextField1.getText()).doubleValue();
   Radius=Double.valueOf(jTextField2.getText()).doubleValue();
   Speed=Double.valueOf(jTextField3.getText()).doubleValue();

   BrTestGratings brtest=new BrTestGratings(green, green,
                                             Width,
                                             Radius,
                                             Speed);
    brtest.setVisible(true);
    brtest.setSize(screenSize.width, screenSize.height-20);
  }

  void jButton2_actionPerformed(ActionEvent e)
  {
    System.exit(0);
  }

  void jTextField1_actionPerformed(ActionEvent e)
  {
//   Width=Double.valueOf(jTextField1.getText()).doubleValue();
  }

  void jTextField2_caretPositionChanged(InputMethodEvent e)
  {
   Radius=Double.valueOf(jTextField2.getText()).doubleValue();
  }

  void jTextField3_caretPositionChanged(InputMethodEvent e)
  {
   Speed=Double.valueOf(jTextField3.getText()).doubleValue();
  }
}