Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

plz, tell me How can i solve the --> start:applet not initilized error..

maneaniketAug 7 2013

Here is my code

/**

  * Sigmoid Function Generator

  * @author

  * @version

*/

/*

*<applet code="Sigmoid" width=500 height=500></applet>

*/

import java.awt.*;

public class Sigmoid extends java.applet.Applet implements Runnable

{

    private static final long serialVersionUID = 5622349801036468572L;

   boolean finished = false;          //indicates when the curve has been completed

   double k = .025;                   //non-linearity constant

   double y = k / 4;                  //output value

   double x = 0;                      //input value

   double dx = k / 10;                //plotting (or look-up table) increment

   int s = 200;                       //pixels per unit real (scaling factor)

   int H = 0, V = s - 1;              //window co-ordinate of graphical origin

   int X, Y;                          //dimensions (in pixels) of the applet window

   Image I = null;                    //reference for an off-screen image I

   Graphics i = null;                 //graphics context for the off-screen image

   long TF = 50;                      //total Time Frame for plotting update cycle

   long T;                            //time at which the next new cycle is due to begin

   Thread plotting;                   //declare a thread reference variable

   Font font;                         //and a font reference for annotations

   Color tr;                          //trace colour

   boolean TypeFlag = false;          //set for unipolar presentation

   public void init()

      {                                         //INITIALISE THE APPLET

      int Xy, Yx;                                 //co-ords of axis labels

      tr = new Color( 0, 128, 64);                //create special dark green for trace

      font = new Font("Dialog", Font.PLAIN, 12);  //choose the lettering font for this applet

      Dimension d = getSize();                    // instead of size() use this method, get size of window as given in HTML applet tag

      X = d.width; Y = d.height;                  //establish window width and height

      I = createImage(X, Y);                      //create the off-screen image I

      i = I.getGraphics();                        //graphics context reference for off-screen image

      if(getParameter("type").equals("bipolar"))

          {                                       //if applet parameter 'type' = 'bipolar'

         TypeFlag = true;                         //set the TypeFlag true;

         k = .011;                                //non-linearity constant

         y = 0;                                   //output value

         x = 0;                                   //input value

         dx = .0025;                              //plotting (or look-up table) increment

         s = 100;                                 //pixels per unit real (scaling factor)

         H = 100; V = 100;                        //window co-ordinate of graphical origin

         Xy = V + 10; Yx = H - 10;                //co-ords of axis letters

         }

      else

         {                                         //if doing a unipolar graph

         Xy = V - 5; Yx = H + 5;                  //co-ords of axis letters

         }

      i.setColor(Color.lightGray);                //set background colour for the off-screen image

      i.fillRect(0, 0, X, Y);                     //paint background of off-screen image

      i.setFont(font);                            //set up the annotation font

      i.setColor(Color.gray);                     //set colour for drawing the graph axes

      i.drawLine(0, V, X, V);                     //draw x axis

      i.drawLine(H, 0, H, Y);                     //draw y axis

      i.setColor(Color.black);                    //set colour for lettering

      i.drawString("X", X - 10, Xy);        

      i.drawString("Y", Yx, 10);                  //print the X and Y axis letters

      i.setColor(tr);                             //set colour to paint the trace on image

      T = System.currentTimeMillis() + TF;        //set end time for current update time frame

   }

   public void paint(Graphics g)

   {         //set up the graphics

      g.drawImage(I, 0, 0, null);          //(re)draw from the off-screen image I

   }

   public void update(Graphics g)

        {                                            //PLOT THE SIGMOID GRAPH

      if(x > 1 || y > 1)                   //if plot has reached edge of graph

         finished = true;                  //set the 'finished' flag

      else {                               //if not yet finished plotting graph

         int h = (int)(s * x);             //convert horizontal plot to pixels

         int v = (int)(s * y);             //convert vertical plot to pixels

         g.setColor(tr);                   //set colour to paint the trace on screen

         int a = h, b, c = V - v, d;       //simplify pixel co-ordinates

         if(TypeFlag)

             {

            a = H - h; b = H + h;          //simplify pixel co-ordinates

            c = V + v; d = V - v;

            g.drawLine(b, d, b, d);        //do next plot in lower left quadrant

            i.drawLine(b, d, b, d);        //do next plot in lower left quadrant

            y += k * (1 - y);              //advance the output difference equation

         } else

            y += k * y * (1 - y);          //advance the output difference equation

         x += dx;                          //advance the input value

         g.drawLine(a, c, a, c);           //do next plot in upper right quadrant

         i.drawLine(a, c, a, c);           //do next plot in upper right quadrant

      }

   }

   public void run() {                            //run the plotting thread

      while(true) {                               //permanent loop broken by external event

         if(!finished) repaint();                 //if not yet finished, do next plot

         long s = T - System.currentTimeMillis(); //get time remaining in this cycle's time frame

         if (s < 5) s = 5;                        //in case host PC is too slow for ideal trace speed

         try {

             Thread.currentThread().sleep(s);    //sleep for remaining time

            }

         catch (InterruptedException e)

             {

             System.out.println(e);

                                                    //allow browser events to break the thread

             }                                        //happens if you return to applet's HTML page

         T = System.currentTimeMillis() + TF;     //set finish time of next time frame

      }

   }

   public void start() {                          //Start program thread by

      plotting = new Thread(this);                //creating the thread object

      plotting.start();                           //and starting it running

   }                                              //[returns a call to run()]

// public void stop() {plotting.stop();}          //Stop program thread

private volatile Thread blinker;

    public void stop() {                           // new method to stop thread

        blinker = null;

    }

}

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 4 2013
Added on Aug 7 2013
0 comments
981 views