
// marquee2.java

import java.applet.*;
import java.awt.Graphics;
import java.awt.Font;


public class marquee2 extends Applet implements Runnable

  {

    int x = 0;
    int y = 0;
    int width = 0;



    Thread my_thread = null;



    String message = "Hello, Java!";

    String font_to_use = "TimesRoman";

    int point_size = 10;






    public void init()

      {

        get_defaults();



        String parameter;



        parameter = getParameter("MESSAGE");

        if (parameter != null)

          message = parameter;



        parameter = getParameter("FONT");

        if (parameter != null)

          font_to_use = parameter;



        parameter = getParameter("POINT_SIZE");

        if (parameter != null)

          point_size = Integer.parseInt(parameter);

      }



    //----------------------------------------------------------------



    public void start()

      {

        my_thread = new Thread(this);

        my_thread.start();

      }


    public void stop()
    {
	my_thread.stop();
	my_thread = null;
    }


    //----------------------------------------------------------------



    void get_defaults()

      {

        y = size().height / 2;

        width = size().width;

        if (x > width)

          x = width;

      }



    //----------------------------------------------------------------



    public void run()

      {

        while (true)

          {

            repaint();

            x -= 10;

            if (x < 0)

              x = width;


            try
              {
                Thread.sleep(100);
              }
            catch (InterruptedException e)
              {
		 System.out.println("ie");
              }

          }

      }



    //----------------------------------------------------------------


    public void paint(Graphics g)

      {

        get_defaults();

        Font font = new Font(font_to_use, Font.PLAIN, point_size);

        g.setFont(font);

        g.drawString(message, x, y);
      }

  }

