advertisement
javaboutique
Search Tips
Articles  |   Tutorials  |   Reviews  |   Tools  |   by Category  |   by Date  |   by Name  |   Submit  |   Source  |   Forums  |  
javaboutique
Browse DevX


Partners & Affiliates











advertisement

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.

 Microsoft RIA Development Center
 IBM Rational Resource Center
 Destination .NET
XML error: not well-formed (invalid token) at line 33
advertisement
Receive Articles via our XML/RSS feed
Receive Articles via our XML/RSS feed

JavaBytes
Internet Cyclone
This powerful, easy-to-use, internet optimizer is for Windows 95, 98, ME, NT, 2000 and XP. It's designed to automatically optimize your Windows settings, boosting your Internet connection up to 200%.

Free VMware Server 2.0 Now Release Candidate
Linux Player Xandros Grabs Storied Rival Linspire
Hey Enterprise: Here Comes the 3G iPhone
MySpace Opens Profile Portability API
Microsoft Jumps Into Virtualization Fray
Eclipse Ganymede Makes It Easier for Devs
Open Source Nokia a Threat to Microsoft, Google?
Salesforce, Google Head for 2nd on Apps
HP Open Sources Unix File System for Linux
Red Hat Opens Its Network to Space

Build a Generic Histogram Generator for SQL Server
Beyond XML and JSON: YAML for Java Developers
Mastering the Windows Mobile Emulators
Avaya AE Services Provide Rapid Telephony Integration with Facebook
Featured Algorithm: Intel Threading Building Blocks: parallel_reduce
Getting Started with Windows Live Admin Center
Eight Key Practices for ASP.NET Deployment
Java ME User Interfaces: Do It with LWUIT!
Talking VPro: Transcript
Bringing Semantic Technology to the Enterprise

Advertising Info  |   Member Services  |   Contact Us  |   Help  |   Feedback  |   Site Map  |   Network Map  |   About



JupiterOnlineMedia

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info


Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Solutions
Whitepapers and eBooks
IBM eBook: Planning a Service Oriented Architecture
IBM eBook: Choosing the Right Architecture--What It Means for You and Your Business
Microsoft Article: Will Hyper-V Make VMware This Decade's Netscape?
Avaya Article: Using Intelligent Presence to Create Smarter Business Applications
Intel Go Parallel Article: Getting Started with TBB on Windows
Microsoft Article: 7.0, Microsoft's Lucky Version?
Avaya Article: How to Feed Data into the Avaya Event Processor
IBM Article: Developing a Software Policy for Your Organization
Microsoft Article: Managing Virtual Machines with Microsoft System Center
Intel Go Parallel Article: Intel Threading Tools and OpenMP
HP eBook: Storage Networking , Part 1
Microsoft Article: Solving Data Center Complexity with Microsoft System Center Configuration Manager 2007
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
Webcasts
HP Video: StorageWorks EVA4400 and Oracle
HP Webcast: Storage Is Changing Fast - Be Ready or Be Left Behind
Microsoft Silverlight Video: Creating Fading Controls with Expression Design and Expression Blend 2
MORE WEBCASTS, PODCASTS, AND VIDEOS
Downloads and eKits
Red Gate Download: SQL Toolbelt and free High-Performance SQL Code eBook
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
Silverlight 2 App and Walkthrough: Leverage Silverlight 2 with SQL Server and XML
IBM Article: Enterprise Search--Do You Know What's Out There?
HP Demo: StorageWorks EVA4400
Microsoft Article: The Progress and Promise of Deep Zoom
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES