ScrollText
Java Source:
/*
* ScrollM by Morgan Andersson @ www.mogge3d.com (2001)
*
* Please read the documentation if you want to
* make changes to this code.
*
*/
import java.awt.*;
public class ScrollM extends java.applet.Applet implements Runnable
{
String scrolltxt;
Color bgcolor = new Color(0xFFFFFF);
Color textcolor = new Color(0x000000);
Thread task;
Image offscreenImage;
Graphics offscreenGfx;
Font theFont;
FontMetrics fm;
int stringheight,stringwidth,xpos,ypos;
boolean movestring;
boolean moveleft;
int speedleft=20,speedright=20;
int pixleft=1,pixright=1;
Point start,end;
int fontsize=10;
String fontname;
public void init()
{
String str;
fontname = getParameter("fontname"); if(fontname == null)
fontname = new String("Verdana");
str = getParameter("fontsize"); if(str != null)
fontsize = Integer.valueOf(str).intValue();
theFont = new Font(fontname,Font.PLAIN,fontsize);
fm = getFontMetrics(theFont);
offscreenImage = createImage(this.size().width,this.size().height);
offscreenGfx = offscreenImage.getGraphics();
scrolltxt = getParameter("text");
if(scrolltxt == null)
scrolltxt = new String("Error, Please refer to the doc file");
stringheight = fm.getHeight();
stringwidth = fm.stringWidth(scrolltxt);
ypos = (this.size().height + stringheight/2)/2;
movestring = true;
str = getParameter("msleft"); if(str != null)
speedleft = Integer.valueOf(str).intValue();
str = getParameter("msright"); if(str != null)
speedright = Integer.valueOf(str).intValue();
str = getParameter("pixleft"); if(str != null)
pixleft = Integer.valueOf(str).intValue();
str = getParameter("pixright"); if(str != null)
pixright = Integer.valueOf(str).intValue();
str = getParameter("textcolor"); if(str != null)
textcolor = new Color(Integer.parseInt(str, 16));
str = getParameter("bgcolor"); if(str != null)
bgcolor = new Color(Integer.parseInt(str, 16));
setBackground(bgcolor);
}
public void start()
{
if (task==null);
{
task = new Thread(this);
task.start();
}
}
public void stop()
{
if (task!=null)
{
task.stop();
task = null;
}
}
public boolean mouseDown(Event evt,int x,int y)
{
movestring = false;
return true;
}
public boolean mouseUp(Event evt,int x,int y)
{
movestring = true;
repaint();
return true;
}
public void run()
{
while (true)
{
for(xpos=this.size().width;xpos>0 - stringwidth;xpos=xpos-pixleft)
{
moveleft = true;
repaint();
try {Thread.sleep(speedleft);}
catch (InterruptedException e) {}
}
for(xpos=0-stringwidth;xpos<=this.size().width;xpos=xpos+pixright)
{
moveleft = false;
repaint();
try {Thread.sleep(speedright);}
catch (InterruptedException e) {}
}
}
}
public void update (Graphics g)
{
paint(g);
}
public void paint (Graphics g)
{
offscreenGfx.setColor(getBackground());
offscreenGfx.fillRect(0,0,this.size().width,this.size().height);
offscreenGfx.setFont(theFont);
offscreenGfx.setColor(textcolor);
if(movestring == true)
{
offscreenGfx.drawString(scrolltxt,xpos,ypos);
}
else if(movestring == false)
{
if(moveleft == true)
{
xpos = xpos+1;
offscreenGfx.drawString(scrolltxt,xpos,ypos);
}
else if(moveleft == false)
{
xpos = xpos-1;
offscreenGfx.drawString(scrolltxt,xpos,ypos);
}
}
g.drawImage(offscreenImage,0,0,this);
}
}
Back to ScrollText
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.
|