- /*
- Generate Bouncing Lines Using Applet Example
- This Java example shows how to create bouncing lines using java Applet
- example.
- */
- import java.awt.*;
- import java.applet.Applet;
- public class BouncingLines extends Applet implements Runnable {
- Thread runner = null;
- final static int WIDTH = 200;
- final static int HEIGHT = 100;
- Image image;
- Graphics graphics;
- // bouncing lines member variables
- int[] x1;
- int[] y1;
- int[] x2;
- int[] y2;
- int dx1 = 2 + (int)( 3 * Math.random() );
- int dy1 = 2 + (int)( 3 * Math.random() );
- int dx2 = 2 + (int)( 3 * Math.random() );
- int dy2 = 2 + (int)( 3 * Math.random() );
- static int first = 0;
- final static int LINES = 50;
- public void init() {
- // create arrays to hold the line coordinates
- x1 = new int[LINES];
- y1 = new int[LINES];
- x2 = new int[LINES];
- y2 = new int[LINES];
- // initialise the first line
- x1[0] = (int)( WIDTH * Math.random() );
- y1[0] = (int)( HEIGHT * Math.random() );
- x2[0] = (int)( WIDTH * Math.random() );
- y2[0] = (int)( HEIGHT * Math.random() );
- // initialise all the other lines
- for ( int i = 1; i < LINES; i++ ) {
- x1[i] = x1[0];
- y1[i] = y1[0];
- x2[i] = x2[0];
- y2[i] = y2[0];
- }
- image = createImage( WIDTH, HEIGHT );
- graphics = image.getGraphics();
- }
- public void start() {
- // user visits the page, create a new thread
- if ( runner == null ) {
- runner = new Thread( this );
- runner.start();
- }
- }
- public void stop() {
- // user leaves the page, stop the thread
- if ( runner != null && runner.isAlive() )
- runner.stop();
- runner = null;
- }
- public void run() {
- while (runner != null) {
- repaint();
- try {
- Thread.sleep( 20 );
- } catch ( InterruptedException e ) {
- // do nothing
- }
- }
- }
- public void paint( Graphics g ) {
- update( g );
- }
- public void update( Graphics g ) {
- // clear the background to white
- graphics.setColor( Color.black );
- graphics.fillRect( 0, 0, WIDTH, HEIGHT );
- // draw the lines
- for(int r=4;r<=9;r++)
- {
- graphics.setColor( Color.green );
- int line = first;
- for ( int i = 0; i < LINES; i++ ) {
- graphics.drawLine( x1[line], y1[line],
- x2[line], y2[line] );
- line++;
- if ( line == LINES ) line = 0;
- }
- line = first;
- first--;
- if ( first < 0 ) first = LINES - 1;
- x1[first] = x1[line];
- y1[first] = y1[line];
- x2[first] = x2[line];
- y2[first] = y2[line];
- // move the "first" line
- if (x1[first] + dx2 < WIDTH)
- x1[first] += dx1;
- else
- dx1 = -(2 + (int)( 3 * Math.random() ));
- if (x1[first] + dx1 >= 0)
- x1[first] += dx1;
- else
- dx1 = 2 + (int)( 3 * Math.random() );
- if (y1[first] + dy1 < HEIGHT)
- y1[first] += dy1;
- else
- dy1 = -(2 + (int)( 3 * Math.random() ));
- if (y1[first] + dy1 >= 0)
- y1[first] += dy1;
- else
- dy1 = 2 + (int)( 3 * Math.random() );
- if (x2[first] + dx2 < WIDTH)
- x2[first] += dx2;
- else
- dx2 = -(2 + (int)( 3 * Math.random() ));
- if (x2[first] + dx2 >= 0)
- x2[first] += dx2;
- else
- dx2 = 2 + (int)( 3 * Math.random() );
- if (y2[first] + dy2 < HEIGHT)
- y2[first] += dy2;
- else
- dy2 = -(2 + (int)( 3 * Math.random() ));
- if (y2[first] + dy2 >= 0)
- y2[first] += dy2;
- else
- dy2 = 2 + (int)( 3 * Math.random() );
- // copy buffer to screen
- g.drawImage( image, 0, 0, this );
- }
- }
- }
Welcome to the world of Java examples, organized by categories and Java packages. Java examples (Java sample source code) help to understand functionality of various Java classes and methods as well as various programming techniques in a simple way, which is otherwise very hard to learn by reading tutorials or Java API. So start exploring...
Sunday, November 27, 2011
Generate Bouncing Lines Using Applet Example
Subscribe to:
Post Comments (Atom)
How to find the most appropriate Keywords?
🔍 Step 1: Understand Your Business and Audience Define your products, services, or content . Identify your target audien...
-
/* Pause Thread Using Sleep Method Example This Java example shows how to pause currently running thread using sleep method of Jav...
-
/* Java String split example. This Java String split example describes how Java String is split into multiple Java String objects. */ ...
-
// File Name GreetingClient.java import java.net.*; import java.io.*; public class GreetingClient { public static void main(String [] ...
No comments:
Post a Comment