title: JApplet not running: < No main classes found >
body: <p>My JApplet is producing a  error when DrawOvalInputs.html runs and calls the class file of DrawOvalInputs. So far, I have only been able to get it work as an actual application (Which is why the main is in a block quote).</p>
  
  <p>My goal for this program is to be able to run a .html file to start up the JApplet with a medium security setting on the java console, yet no matter what I've done it simply won't function.</p>
  
  <p>I have looked around on quite a few pages and searches before coming here. Regrettably, I just can't figure this JApplet out, so if someone could guide me in the right direction I'd be most thankful!</p>
  
  <p>My Code below:</p>
  
  <p>DrawOvalInputs.java</p>
  
  <pre><code>package drawovalapplet;
  
  import java.awt.BorderLayout;
  import java.awt.Frame;
  import java.awt.Graphics;
  import javax.swing.JApplet;
  import javax.swing.JOptionPane;
  
  /**
   * This applet inputs a number of values, and then computes the size of
   * an oval with those given values. 
   *
   * @author  [Redacted]
   * @version 2014-05-02, [Redacted]
   */
  public class DrawOvalInputs extends JApplet
  {
      private static int x;               //left edge of the oval
      private static int y;               //top edge of the oval
      private static int width;           //width of oval
      private static int height;          //height of oval
      private static int windowWidth;     //Holds necessary width of window.
      private static int windowHeight;    //Holds necessary height of window.
      private static int windowBox;       //Holds box form of window.
  
  
  @Override
  public void init()
  {    
      try 
      {
          /** Collect the input values. */    
          Input.inputAll();
  
          /** creates dimensions for box */
          windowWidth = width + x + 50;
          windowHeight = height + y + 50;
  
          /** 
           * If... else... function to gather data to create
           * a fitting box for the oval
           */
          if(windowWidth &gt; windowHeight)
              windowBox = windowWidth;
          else
              windowBox = windowHeight;
  
      } catch (Input.CanceledException ex) {
          System.exit(1);
      }
  } 
  
  @Override
  public void paint(Graphics g)
  {
      super.paint(g);      
      g.drawOval(x, y, width, height);
  } // end method pain
  
  
  /**
   * Main entry point.
   * &lt;p&gt; Execute:
   * &lt;pre&gt;java drawovalapplet.DrawOvalInputs&lt;/pre&gt;
   *
   * @param args not used.
   */
  /*public static void main(String args[])
  {
  Frame frame = new Frame("DrawOvalInputs");
  DrawOvalInputs drawOval = new DrawOvalInputs();
  drawOval.init();
  drawOval.start();
  frame.add(drawOval);
  frame.setSize(drawOval.windowBox, drawOval.windowBox);
  frame.setVisible(true);
  }*/
  
  //------------------------------- Nested Classes --------------------------------
  
  /**
   * Enumeration of the name and value of the input values.
   */
  private enum Input
  {
  /**
   * Message for the entering the x coordinate.
   */
  XVALUE("Enter the argument for the x coordinate of the upper left corner of the oval to be drawn:"),
  
  /**
   * Message for the entering the y coordinate.
   */
  YVALUE("Enter the argument for the y coordinate of the upper left corner of the oval to be drawn:"),
  
  /**
   * Message for entering the width.
   */
  WIDTHVALUE("Enter the desired width of the oval to be drawn:"),
  
  /**
   * Message for entering the height.
   */
  HEIGHTVALUE("Enter the desired height of the oval:");
  
  /**
   * String to use in messages (from the constructor).
   */
  protected String invitation;
  
  /**
   * String to use for error messages.
   */
  protected String error = "Not an integer value--please re-enter:";
  
  /**
   * Value of this {@literal &lt;variable&gt;}.
   */
  protected int value;
  
  /**
   * @param label string to use in messages
   */
  Input(String invitation)
  {
      this.invitation = invitation;
  }
  
  public static void inputAll() throws CanceledException
  {
      /* Decide which input value is currently being used. */
      int count = 0; 
  
      /* Collect the input numbers. */
      for(Input input : Input.values())
      {
          /* Set up the invitation to enter each number. */
          String message = input.invitation;
  
          /* Loop until the user inputs an acceptably formatted number. */
          while(true)                         // repetition environment
          {
              String response;
              /* Null return from the JOptionPane indicates CANCEL was pressed. */
              if( (response = JOptionPane.showInputDialog(message)) == null)
                  throw new CanceledException();
              message = input.error;              // just in case
              try
              {
                  input.value = Integer.parseInt(response);
                  break;                          // success in acquiring value
              }
              catch(NumberFormatException nfe) {}// ignore all, and try again
          }
          count++;
          if(count == 1)
              x = input.value;
          else if(count == 2)
              y = input.value;
          else if (count == 3)
              width = input.value;
          else if (count == 4)
              height = input.value;
          else
              System.out.println("Error. Revise.");   
      }
  }
  
  @SuppressWarnings("serial")
  public static class CanceledException extends Exception {}
  }
  }
  </code></pre>
  
  <p>DrawOvalInputs.html 
  I've run this with DrawOvalInputs.java and the one below, as well as with .class instead.</p>
  
  <pre><code>&lt;html&gt;
    &lt;body&gt;
        &lt;applet code=drawovalapplet.DrawOvalInputs.java width=400 height=400&gt;
        &lt;/applet&gt;
    &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>Thanks!</p>