Showing posts with label Applet in Java. Show all posts
Showing posts with label Applet in Java. Show all posts

Thursday, 12 March 2015

Analog clock in Applet

Analog clock in Applet

Analog clock can be created by using the Math class. Let's see the simple example:

Example of Analog clock in Applet:

import java.applet.*;  
import java.awt.*;  
import java.util.*;  
import java.text.*;  
  
public class MyClock extends Applet implements Runnable {  
  
   int width, height;  
   Thread t = null;  
   boolean threadSuspended;  
   int hours=0, minutes=0, seconds=0;  
   String timeString = "";  
  
   public void init() {  
      width = getSize().width;  
      height = getSize().height;  
      setBackground( Color.black );  
   }  
  
   public void start() {  
      if ( t == null ) {  
         t = new Thread( this );  
         t.setPriority( Thread.MIN_PRIORITY );  
         threadSuspended = false;  
         t.start();  
      }  
      else {  
         if ( threadSuspended ) {  
            threadSuspended = false;  
            synchronizedthis ) {  
               notify();  
            }  
         }  
      }  
   }  
  
   public void stop() {  
      threadSuspended = true;  
   }  
  
   public void run() {  
      try {  
         while (true) {  
  
            Calendar cal = Calendar.getInstance();  
            hours = cal.get( Calendar.HOUR_OF_DAY );  
            if ( hours > 12 ) hours -= 12;  
            minutes = cal.get( Calendar.MINUTE );  
            seconds = cal.get( Calendar.SECOND );  
  
            SimpleDateFormat formatter  
               = new SimpleDateFormat( "hh:mm:ss", Locale.getDefault() );  
            Date date = cal.getTime();  
            timeString = formatter.format( date );  
  
            // Now the thread checks to see if it should suspend itself  
            if ( threadSuspended ) {  
               synchronizedthis ) {  
                  while ( threadSuspended ) {  
                     wait();  
                  }  
               }  
            }  
            repaint();  
            t.sleep( 1000 );  // interval specified in milliseconds  
         }  
      }  
      catch (Exception e) { }  
   }  
  
   void drawHand( double angle, int radius, Graphics g ) {  
      angle -= 0.5 * Math.PI;  
      int x = (int)( radius*Math.cos(angle) );  
      int y = (int)( radius*Math.sin(angle) );  
      g.drawLine( width/2, height/2, width/2 + x, height/2 + y );  
   }  
  
   void drawWedge( double angle, int radius, Graphics g ) {  
      angle -= 0.5 * Math.PI;  
      int x = (int)( radius*Math.cos(angle) );  
      int y = (int)( radius*Math.sin(angle) );  
      angle += 2*Math.PI/3;  
      int x2 = (int)( 5*Math.cos(angle) );  
      int y2 = (int)( 5*Math.sin(angle) );  
      angle += 2*Math.PI/3;  
      int x3 = (int)( 5*Math.cos(angle) );  
      int y3 = (int)( 5*Math.sin(angle) );  
      g.drawLine( width/2+x2, height/2+y2, width/2 + x, height/2 + y );  
      g.drawLine( width/2+x3, height/2+y3, width/2 + x, height/2 + y );  
      g.drawLine( width/2+x2, height/2+y2, width/2 + x3, height/2 + y3 );  
   }  
  
   public void paint( Graphics g ) {  
      g.setColor( Color.gray );  
      drawWedge( 2*Math.PI * hours / 12, width/5, g );  
      drawWedge( 2*Math.PI * minutes / 60, width/3, g );  
      drawHand( 2*Math.PI * seconds / 60, width/2, g );  
      g.setColor( Color.white );  
      g.drawString( timeString, 10, height-10 );  
   }  
}  

myapplet.html

<html>  
<body>  
<applet code="MyClock.class" width="300" height="300">  
</applet>  
</body>  
</html>  

Digital clock in Applet

Digital clock in Applet

Digital clock can be created by using the Calendar and SimpleDateFormat class. Let's see the simple example:

Example of Digital clock in Applet:

import java.applet.*;  
import java.awt.*;  
import java.util.*;  
import java.text.*;  
  
public class DigitalClock extends Applet implements Runnable {  
  
   Thread t = null;  
   int hours=0, minutes=0, seconds=0;  
   String timeString = "";  
  
   public void init() {  
      setBackground( Color.green);  
   }  
  
   public void start() {  
        t = new Thread( this );  
        t.start();  
   }  
  
    
   public void run() {  
      try {  
         while (true) {  
  
            Calendar cal = Calendar.getInstance();  
            hours = cal.get( Calendar.HOUR_OF_DAY );  
            if ( hours > 12 ) hours -= 12;  
            minutes = cal.get( Calendar.MINUTE );  
            seconds = cal.get( Calendar.SECOND );  
  
            SimpleDateFormat formatter = new SimpleDateFormat("hh:mm:ss");  
            Date date = cal.getTime();  
            timeString = formatter.format( date );  
  
            repaint();  
            t.sleep( 1000 );  // interval given in milliseconds  
         }  
      }  
      catch (Exception e) { }  
   }  
  
    
  public void paint( Graphics g ) {  
      g.setColor( Color.blue );  
      g.drawString( timeString, 5050 );  
   }  
}  

In the above example, getX() and getY() method of MouseEvent is used to get the current x-axis and y-axis. The getGraphics() method of Component class returns the object of Graphics.

myapplet.html

<html>  
<body>  
<applet code="DigitalClock.class" width="300" height="300">  
</applet>  
</body>  
</html>

Animation in Applet

Animation in Applet

Applet is mostly used in games and animation. For this purpose image is required to be moved.



Example of animation in applet:

import java.awt.*;  
import java.applet.*;  
public class AnimationExample extends Applet {  
  
  Image picture;  
  
  public void init() {  
    picture =getImage(getDocumentBase(),"bike_1.gif");  
  }  
    
  public void paint(Graphics g) {  
    for(int i=0;i<500;i++){  
      g.drawImage(picture, i,30this);  
  
      try{Thread.sleep(100);}catch(Exception e){}  
    }  
  }  
In the above example, drawImage() method of Graphics class is used to display the image. The 4th argument of drawImage() method of is ImageObserver object. The Component class implements ImageObserver interface. So current class object would also be treated as ImageObserver because Applet class indirectly extends the Component class.

myapplet.html

<html>  
<body>  
<applet code="DisplayImage.class" width="300" height="300">  
</applet>  
</body>  
</html>