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


Partners & Affiliates











advertisement


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

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.

 DevX Skillbuilding from IBM developerWorks
 RIA Run Contest: Build Next-Gen Apps in Microsoft Silverlight 2
 Avaya DevConnect Center
 Intel Go Parallel Portal
 Internet.com eBook Library
 Microsoft RIA Development Center
 Destination .NET
XML error: not well-formed (invalid token) at line 53
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%.

Alfresco's Latest ECM: Prying Open a Sector?
SaaS Tool Offers Custom Database Development
Microsoft’s Automated Agent: Can We Talk?
Borland Finally Sells CodeGear
Red Hat Heads for the JON 2.0
Out with the Old, in with the New at JavaOne
Trolltech Expands WebKit Footprint
Oracle: Eating its Own Open Source Food
Big Money and Open Source May Not Compute
Open Source Embrace Gives Sun New Fans

Getting Started with TBB on Windows
Moving to VoIP: Should You Go It Alone?
Introduction to the WPF Command Framework
7.0, Microsoft's Lucky Version?
Will Hyper-V Make VMware This Decade's Netscape?
Eliminate Fragmentation Frustration with Netbiscuits
Taming Trees: Building Branching Structures
Clean Up Function Syntax Mess with decltype
Sutter Speaks: The Future of Concurrency
INTEL SCAVENGER HUNT, LENOVO X300 AND APPLE IPOD TOUCH GIVEAWAY (the "Giveaway")

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
Microsoft Article: Will Hyper-V Make VMware This Decade's Netscape?
Microsoft Article: 7.0, Microsoft's Lucky Version?
Microsoft Article: Hyper-V--The Killer Feature in Windows Server 2008
Avaya Article: How to Feed Data into the Avaya Event Processor
Microsoft Article: Install What You Need with Windows Server 2008
HP eBook: Putting the Green into IT
Whitepaper: HP Integrated Citrix XenServer for HP ProLiant Servers
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 1
Intel Go Parallel Portal: Interview with C++ Guru Herb Sutter, Part 2--The Future of Concurrency
Avaya Article: Setting Up a SIP A/S Development Environment
IBM Article: How Cool Is Your Data Center?
Microsoft Article: Managing Virtual Machines with Microsoft System Center
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
Intel Video: Are Multi-core Processors Here to Stay?
On-Demand Webcast: Five Virtualization Trends to Watch
HP Video: Page Cost Calculator
Intel Video: APIs for Parallel Programming
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
Sun Download: Solaris 8 Migration Assistant
Sybase Download: SQL Anywhere Developer Edition
Red Gate Download: SQL Backup Pro and free DBA Best Practices eBook
Red Gate Download: SQL Compare Pro 6
Iron Speed Designer Application Generator
MORE DOWNLOADS, EKITS, AND FREE TRIALS
Tutorials and Demos
How-to-Article: Preparing for Hyper-Threading Technology and Dual Core Technology
eTouch PDF: Conquering the Tyranny of E-Mail and Word Processors
IBM Article: Collaborating in the High-Performance Workplace
HP Demo: StorageWorks EVA4400
Intel Featured Algorhythm: Intel Threading Building Blocks--The Pipeline Class
Microsoft How-to Article: Get Going with Silverlight and Windows Live
MORE TUTORIALS, DEMOS AND STEP-BY-STEP GUIDES