Java Code
import javax.swing.*;
import java.awt.*;
public class Wink extends JApplet
{
Smiley sm;
Thread t;
JLabel title, leftside;
public void init( )
{
setLayout( new FlowLayout( ) );
title = new JLabel( "<HTML><FONT SIZE=+2 COLOR=BLUE>Gooood Mornin'!" );
leftside = new JLabel( "<HTML>This goes <BR>to show<BR>some "
+ "fun<BR>animation!" );
add( title );
add( leftside );
sm = new Smiley( ); // work the smile
sm.setPreferredSize( new Dimension(55,55) );
add( sm );
}
public void start( )
{
t = new Thread(sm);
t.start( );
}
}
import java.awt.*;
import javax.swing.*;
public class Smiley extends JPanel implements Runnable
{
int size=50;
int leftEyeX = (int)(size*0.25);
int eyeWidth = size/7;
int eyeHeight = size/6;
int rtEyeX = (int)(size*0.75-eyeWidth);
int eyeY = (int)(size/3);
boolean winking = false;
public void run( )
{
while( true )
{
repaint( );
try {
Thread.sleep(500);
}
catch( Exception e ) { }
}
}
public void paintComponent ( Graphics g )
{
super.paintComponent( g );
g.setColor( Color.YELLOW );
g.fillOval( 0,0,size,size );
g.setColor( Color.BLACK );
g.drawOval ( 0,0,size,size ); // outline
g.fillOval( leftEyeX, eyeY,eyeWidth,eyeHeight); // left eye
if( winking )
{
g.setColor( Color.YELLOW );
g.fillOval( rtEyeX, eyeY,eyeWidth,eyeHeight); // right eye
g.setColor( Color.BLACK );
g.fillRect ( rtEyeX, eyeY+eyeHeight,eyeWidth,2);
winking = false;
}
else
{
g.fillOval( rtEyeX, eyeY,eyeWidth,eyeHeight); // right eye
winking = true;
}
g.setColor( Color.RED );
g.fillArc( 10,eyeY+eyeHeight,size-20,20, 180,180 );
}
}
©2006 by E.S.Boese. All Rights Reserved