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


Partners & Affiliates











advertisement


Virtual Banner


Java Source:

//Author Korkut Koyman 14.08.2001 kkoyman@sanalmagaza.com
//This is an upgraded version of an applet designed for the electronic commerce site called http://www.sanalmagaza.com.tr
//This applet is compiled with Java SDK 1.03.2
import java.awt.*;
import java.applet.*;
public class virtualbanner extends Applet implements Runnable
{
Thread runner;
private Image Buffer;
private Graphics gBuffer;
Image thyplane1, thyplane2, strain1, newcity1, station1, bridge, plane1, tree;
int x, x1, x2=-200, x3=668;
boolean moveRight	= true;
boolean moveLeft	= true;

	//Initialisation before running Thread
	
	public void init()
	{
	//creating graphics buffer which will equal the size of the applet
	Buffer=createImage(size().width,size().height);
	gBuffer=Buffer.getGraphics();		
		
	//these are all the images that will be used in this applet
	thyplane1	= getImage(getCodeBase(),"thyplane1.gif");
	thyplane2	= getImage(getCodeBase(),"thyplane2.gif");
	strain1		= getImage(getCodeBase(),"strain1.gif");
	newcity1		= getImage(getCodeBase(),"newcity1.jpg");
	station1     	= getImage(getCodeBase(),"station1.gif");
	plane1       	= getImage(getCodeBase(),"plane1.gif");
	bridge       	= getImage(getCodeBase(),"bridge.gif");
	tree         	= getImage(getCodeBase(),"tree.gif");
	}
	//The thread starts here
	public void start()
		{
              	if (runner == null)
			{
		runner = new Thread (this);
		runner.start();
			}
		}
	public void stop()
		{
		if (runner != null)
			{
                    	runner.stop();
		runner = null;
			}
		}
	public void run()
		{
		while(true)
		{
	//Thread will sleep for 15 milliseconds here
		try {runner.sleep(15);}
		catch (Exception e) { }
	
	//train will move  right until it leaves applet
	//then let it appear again on the left side

	x++;
	if(x>size().width)
	x=-500;
	//the plane will be left with some speed which is 5 times faster
	//until it leaves applet then reappear at the right side of applet

	x1-=5;
	if(x1<-1200)
	x1=size().width;
	
	//this part is to move the planes until they reach a certain point which is out of the applet screen
	//then send them back to origin to restart their move
	
	if(moveRight==true)
		{
		if(x2<size().width+200)x2=x2+1;
		else
		moveRight=false;
		}
	if(moveLeft==true)
		{
		if(x3>-200)
		x3=x3-2;
		else
		moveLeft=false;
		}
	if(moveRight==false)
		x2=-200;
		{
		if(x2<size().width+200)
		moveRight=true;
		}
	if(moveLeft==false)
		x3=668;
		{
		if(x3>-200)
		moveLeft=true;
		}
	//this will draw the background
	
	gBuffer.drawImage(newcity1,0,0,this);
	
	//this draws the planes moving across eachother
	
	gBuffer.drawImage(thyplane2, x2,2, this);
	gBuffer.drawImage(thyplane1, x3,42, this);
	
	//this one draws the aircraft moving with the higher speed
	
	gBuffer.drawImage(plane1, x1,90, this);
	
	//this draws the trees which will be painted before the train moving
	
	gBuffer.drawImage(tree, 49,181, this);
	gBuffer.drawImage(tree, 80,180, this);
	gBuffer.drawImage(tree, 105,182, this);	
	gBuffer.drawImage(tree, 285,180, this);
	
	//here the train is drawn as well as the railway by using drawline method
	
	gBuffer.drawLine(0,230,468,230);
	gBuffer.drawImage(strain1, x,207, this);

	//the bridge that the train is crossing is drawn here
	gBuffer.drawImage(bridge, 0,231, this);
	
	//This is the train station that the train in this applet never stops
	gBuffer.drawImage(station1, 185,198, this);

	//once again some more trees around the railway
	gBuffer.drawImage(tree, 26,180, this);
	gBuffer.drawImage(tree, 58,180, this);
	gBuffer.drawImage(tree, 359,184, this);
	gBuffer.drawImage(tree, 429,188, this);	
	gBuffer.drawImage(tree, 258,185, this);
	gBuffer.drawImage(tree, 306,180, this);
	repaint();
		}//end of while true
	}//end of run()

	//this is needed to avoid erasing the background by Java
	public void update(Graphics g)
	{
	paint(g);
	}//end of update
	public void paint(Graphics g)
	{
	g.drawImage (Buffer,0,0, this);
	}//end of  paint method

}//end of virtualbanner class


Back to VirtualBanner

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