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
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.
|