Scroll


import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.*;
import java.io.*;
import java.util.*;

public class Scroll extends Applet implements Runnable,MouseListener{
  Thread t=null;
  String[] strHead=new String[20];
  String[] strDesc=new String[20];
  String[] strLink=new String[20];
  String txtHead=null;
  String txtDesc=null;

  int noOfText=0;
  Color headBColor=new Color(0,255,0);
  Color descBColor=new Color(0,0,255);
  Color headTextColor=new Color(0,0,0);
  Color descTextColor=new Color(0,0,0);
  Font font=new Font("Sanserif",Font.BOLD,14);

  long typingSpeed=100;
  long delayTime=2000;
  String targetWindow=new String("_blank");
  int i=1;
  boolean first=true;
  boolean nextString=false;

  public void init() {
    getParameterValue();
    this.setBackground(descBColor);
    setCursor(new Cursor(Cursor.HAND_CURSOR));
    this.addMouseListener(this);

  }

  public void start(){
    if (t==null){
      t=new Thread(this);
      t.start();
    }else{
      t.resume();
    }
  }

  public void stop(){
    if (t != null)
      t.suspend();
  }

  public void run(){
    while (true){
        runApplet();
    }
  }

  public synchronized void runApplet(){
      for (i=1; i<=noOfText; i++){
        for(int j=1; j<=strDesc[i].length(); j++){
          nextString=false;
          if ( j<=strHead[i].length())
            txtHead=strHead[i].substring(0,j);
          txtDesc=strDesc[i].substring(0,j);
          try{
            t.sleep(typingSpeed);
          }catch(InterruptedException eint){}
          repaint();
        }
          try{
            t.sleep(delayTime);
          }catch(InterruptedException eint){}

        Graphics g=getGraphics();
        g.setColor(headBColor);
        g.fillRect(0,0,(size().width)/4,size().height);
        g.setColor(descBColor);
        g.fillRect((size().width)/4,0,((size().width)/4)*3,size().height);
      }
  }

  public void mouseEntered(MouseEvent e){
         showStatus(strLink[i]);
  }

  public void mouseExited(MouseEvent e){
       showStatus("");
  }

  public void mouseClicked(MouseEvent e){
     try{
         getAppletContext().showDocument(new URL(strLink[i]),targetWindow);
     }catch(MalformedURLException emalf){}
  }

  public void mousePressed(MouseEvent e){
  }

  public void mouseReleased(MouseEvent e){
  }

  public void paint(Graphics g){
    if (first){
        g.setColor(headBColor);
        g.fillRect(0,0,(size().width)/4,size().height);
        g.setColor(descBColor);
        g.fillRect(0,(size().width)/4,((size().width)/4)*3,size().height);
    }
    g.setFont(font);
    g.setColor(headTextColor);
    try{
      g.drawString(txtHead,bounds().x+2,20);
      g.setColor(descTextColor);
      g.drawString(txtDesc,((size().width)/4)+2,20);
    }catch(NullPointerException enull){System.out.println(enull.toString());}
  }

  public void update(Graphics g){
    paint(g);
  }

  public void getParameterValue(){
  try{
    int first,second,third;
    int fontSize=14;
    String fontName="Sanserif";
    String fileName=null;
    URL url=null;
    URLConnection con=null;
    BufferedReader in=null;

    try{
      url=new URL(getCodeBase(),"InfoText.txt");
      try{
        fileName=getParameter("filename");
        url=new URL(fileName);
      }catch(Exception eio1){System.out.println(eio1.toString());}
      con=url.openConnection();
      in=new BufferedReader(new InputStreamReader(con.getInputStream()));
    }catch(MalformedURLException emal){}
    catch(Exception eio1){System.out.println(eio1.toString());}

    String readText=null;

    try{
      while ((readText=in.readLine()) !=null){
        noOfText++;
        StringTokenizer token=new StringTokenizer(readText,"|");
        strHead[noOfText]=new String(token.nextToken());
        strDesc[noOfText]=new String(token.nextToken());
        strLink[noOfText]=new String(token.nextToken());
      }
    }catch(Exception eio){System.out.println(eio.toString());}

    try{
      typingSpeed=Long.parseLong(getParameter("typingspeed"));
    }catch(Exception eio){System.out.println(eio.toString());}
    try{
      delayTime=Long.parseLong(getParameter("delaytime"));
    }catch(Exception eio){System.out.println(eio.toString());}

    try{
      fontSize=Integer.parseInt(getParameter("fontsize"));
    }catch(Exception eio){System.out.println(eio.toString());}
    try{
      fontName=getParameter("fontname");
    }catch(Exception eio){System.out.println(eio.toString());}

    font=new Font(fontName,Font.BOLD,fontSize);

    try{
      targetWindow=getParameter("targetwindow");
    }catch(Exception eio){System.out.println(eio.toString());}

    try{
      StringTokenizer thead=new StringTokenizer(getParameter("headbcolor"),",");
      first=Integer.parseInt(thead.nextToken());
      second=Integer.parseInt(thead.nextToken());
      third=Integer.parseInt(thead.nextToken());
      headBColor=new Color(first,second,third);
    }catch(Exception eio){System.out.println(eio.toString());}

    try{
      StringTokenizer tdesc=new StringTokenizer(getParameter("descbcolor"),",");
      first=Integer.parseInt(tdesc.nextToken());
      second=Integer.parseInt(tdesc.nextToken());
      third=Integer.parseInt(tdesc.nextToken());
      descBColor=new Color(first,second,third);
    }catch(Exception eio){System.out.println(eio.toString());}

    try{
      StringTokenizer headtext=new StringTokenizer(getParameter("headtextcolor"),",");
      first=Integer.parseInt(headtext.nextToken());
      second=Integer.parseInt(headtext.nextToken());
      third=Integer.parseInt(headtext.nextToken());
      headTextColor=new Color(first,second,third);
    }catch(Exception eio){System.out.println(eio.toString());}

    try{
      StringTokenizer desctext=new StringTokenizer(getParameter("desctextcolor"),",");
      first=Integer.parseInt(desctext.nextToken());
      second=Integer.parseInt(desctext.nextToken());
      third=Integer.parseInt(desctext.nextToken());
      descTextColor=new Color(first,second,third);
    }catch(Exception eio){System.out.println(eio.toString());}

   }catch(Exception eio){System.out.println(eio.toString());}
  }
}

Back to Scroll applet page

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.