0% found this document useful (0 votes)
101 views

Java MouseListener Interface

The document discusses Java applets and their lifecycle. It describes applets as programs embedded in webpages that run on the client-side in a browser. The key lifecycle methods for applets include init(), start(), stop(), and destroy() from the Applet class, and paint() from the Component class. These methods control when an applet is initialized, started, stopped, painted, and destroyed as it runs within a web browser.

Uploaded by

Navabharathi S
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
101 views

Java MouseListener Interface

The document discusses Java applets and their lifecycle. It describes applets as programs embedded in webpages that run on the client-side in a browser. The key lifecycle methods for applets include init(), start(), stop(), and destroy() from the Applet class, and paint() from the Component class. These methods control when an applet is initialized, started, stopped, painted, and destroyed as it runs within a web browser.

Uploaded by

Navabharathi S
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 60

Java MouseListener Interface

The Java MouseListener is notified whenever you change the state of


mouse. It is notified against MouseEvent. The MouseListener interface is
found in java.awt.event package. It has five methods.
Methods of MouseListener interface
The signature of 5 methods found in MouseListener interface are given
below:

1. public abstract void mouseClicked(MouseEvent e);  
2. public abstract void mouseEntered(MouseEvent e);  
3. public abstract void mouseExited(MouseEvent e);  
4. public abstract void mousePressed(MouseEvent e);  
5. public abstract void mouseReleased(MouseEvent e);  
Java MouseListener Example

1. import java.awt.*;  
2. import java.awt.event.*;  
3. public class MouseListenerExample extends Frame implements Mous
eListener{  
4.     Label l;  
5.     MouseListenerExample(){  
6.         addMouseListener(this);  
7.           
8.         l=new Label();  
9.         l.setBounds(20,50,100,20);  
10.         add(l);  
11.         setSize(300,300);  

12.         setLayout(null);  

13.         setVisible(true);  

14.     }  

15.     public void mouseClicked(MouseEvent e) {  

16.         l.setText("Mouse Clicked");  

17.     }  

18.     public void mouseEntered(MouseEvent e) {  

19.         l.setText("Mouse Entered");  

20.     }  

21.     public void mouseExited(MouseEvent e) {  

22.         l.setText("Mouse Exited");  

23.     }  
24.     public void mousePressed(MouseEvent e) {  
25.         l.setText("Mouse Pressed");  

26.     }  

27.     public void mouseReleased(MouseEvent e) {  

28.         l.setText("Mouse Released");  

29.     }  

30. public static void main(String[] args) {  

31.     new MouseListenerExample();  

32. }  

33. }  

Output:
Java MouseListener Example 2

1. import java.awt.*;  
2. import java.awt.event.*;  
3. public class MouseListenerExample2 extends Frame implements Mou
seListener{  
4.     MouseListenerExample2(){  

5.         addMouseListener(this);  

6.           

7.         setSize(300,300);  

8.         setLayout(null);  

9.         setVisible(true);  

10.     }  

11.     public void mouseClicked(MouseEvent e) {  

12.         Graphics g=getGraphics();  

13.         g.setColor(Color.BLUE);  

14.         g.fillOval(e.getX(),e.getY(),30,30);  

15.     }  
16.     public void mouseEntered(MouseEvent e) {}  
17.     public void mouseExited(MouseEvent e) {}  

18.     public void mousePressed(MouseEvent e) {}  

19.     public void mouseReleased(MouseEvent e) {}  

20.       

21. public static void main(String[] args) {  

22.     new MouseListenerExample2();  

23. }  

24. }  

Output:
Java KeyListener Interface
The Java KeyListener is notified whenever you change the state of
key. It is notified against KeyEvent. The KeyListener interface is found in
java.awt.event package, and it has three methods.
Interface declaration
Following is the declaration for java.awt.event.KeyListener interface:

1. public interface KeyListener extends EventListener  
Methods of KeyListener interface
The signature of 3 methods found in KeyListener interface are given
below:

Sr. Method name Description


no.

1. public abstract void It is invoked when a


keyPressed (KeyEvent e); key has been pressed.
2. public abstract void It is invoked when a
keyReleased (KeyEvent key has been released.
e);
3. public abstract void It is invoked when a
keyTyped (KeyEvent e); key has been typed.

Methods inherited
This interface inherits methods from the following interface:
Play Videox

o java.awt.EventListener
Java KeyListener Example
In the following example, we are implementing the methods of the
KeyListener interface.
KeyListenerExample.java
1. // importing awt libraries  
2. import java.awt.*;    

3. import java.awt.event.*;    

4. // class which inherits Frame class and implements KeyListener interface 

 
5. public class KeyListenerExample extends Frame implements KeyListen

er {    
6. // creating object of Label class   and TextArea class  

7.  Label l;    

8.     TextArea area;    

9. // class constructor  

10.     KeyListenerExample() {    

11.           // creating the label  

12.         l = new Label();    
13. // setting the location of the label in frame  
14.         l.setBounds (20, 50, 100, 20);    

15. // creating the text area  

16.         area = new TextArea();    

17. // setting the location of text area   

18.         area.setBounds (20, 80, 300, 300);    

19. // adding the KeyListener to the text area  

20.         area.addKeyListener(this);  

21. // adding the label and text area to the frame  

22.         add(l);  

23. add(area);    

24. // setting the size, layout and visibility of frame  

25.         setSize (400, 400);    

26.         setLayout (null);    
27.         setVisible (true);    
28.     }    

29. // overriding the keyPressed() method of KeyListener interface where w

e set the text of the label when key is pressed  
30.     public void keyPressed (KeyEvent e) {    

31.         l.setText ("Key Pressed");    

32.     }    

33. // overriding the keyReleased() method of KeyListener interface where 

we set the text of the label when key is released  
34.     public void keyReleased (KeyEvent e) {    

35.         l.setText ("Key Released");    

36.     }    

37. // overriding the keyTyped() method of KeyListener interface where we 

set the text of the label when a key is typed  
38.     public void keyTyped (KeyEvent e) {    
39.         l.setText ("Key Typed");    

40.     }    

41.   // main method  

42.     public static void main(String[] args) {    

43.         new KeyListenerExample();    

44.     }    

45. }   

Output:
Java KeyListener Example 2: Count Words & Characters
In the following example, we are printing the count of words and
characters of the string. Here, the string is fetched from the TextArea
and uses the KeyReleased() method of KeyListener interface.
KeyListenerExample2.java

1. // importing the necessary libraries  
2. import java.awt.*;    
3. import java.awt.event.*;    
4. // class which inherits Frame class and implements KeyListener interface 
 
5. public class KeyListenerExample2 extends Frame implements KeyListe
ner {    
6. // object of Label and TextArea  
7.     Label l;    
8.     TextArea area;    

9. // class constructor  

10.     KeyListenerExample2() {    

11.          // creating the label   

12.         l = new Label();    

13. // setting the location of label  

14.         l.setBounds (20, 50, 200, 20);    

15. // creating the text area  

16.         area = new TextArea();    

17. // setting location of text area  

18.         area.setBounds (20, 80, 300, 300);    

19. // adding KeyListener to the text area   

20.         area.addKeyListener(this);    
21.  // adding label and text area to frame  
22.    add(l);  

23. add(area);    

24. // setting size, layout and visibility of frame  

25.         setSize (400, 400);    

26.         setLayout (null);    

27.         setVisible (true);    

28.     }    

29. // even if we do not define the interface methods, we need to override t

hem  
30.     public void keyPressed(KeyEvent e) {}    

31. // overriding the keyReleased() method of KeyListener interface   

32.     public void keyReleased (KeyEvent e) {    
33. // defining a string which is fetched by the getText() method of TextAre
a class  
34.         String text = area.getText();    

35. // splitting the string in words  

36.         String words[] = text.split ("\\s");    

37. // printing the number of words and characters of the string   

38.         l.setText ("Words: " + words.length + " Characters:" + text.length()); 

   
39.     }    

40.     public void keyTyped(KeyEvent e) {}    

41.   // main method  

42.     public static void main(String[] args) {    

43.         new KeyListenerExample2();    

44.     }    
45. }    
Output:
Java Applet
Applet is a special type of program that is embedded in the webpage to
generate the dynamic content. It runs inside the browser and works at
client side.
Advantage of Applet
There are many advantages of applet. They are as follows:
o It works at client side so less response time.
o Secured
o It can be executed by browsers running under many plateforms,
including Linux, Windows, Mac Os etc.
Drawback of Applet
o Plugin is required at client browser to execute applet.
Hierarchy of Applet
As displayed in the above diagram, Applet class extends
Panel. Panel class extends Container which is the
subclass of Component.

Lifecycle of Java Applet


1. Applet is initialized.
2. Applet is started.
3. Applet is painted.
4. Applet is stopped.
5. Applet is destroyed.
Lifecycle methods for Applet:
The java.applet.Applet class 4 life cycle methods and
java.awt.Component class provides 1 life cycle methods for an applet.
java.applet.Applet class
For creating any applet java.applet.Applet class must be inherited. It
provides 4 life cycle methods of applet.
Play Videox

1. public void init(): is used to initialized the Applet. It is invoked only


once.
2. public void start(): is invoked after the init() method or browser is
maximized. It is used to start the Applet.
3. public void stop(): is used to stop the Applet. It is invoked when
Applet is stop or browser is minimized.
4. public void destroy(): is used to destroy the Applet. It is invoked
only once.
java.awt.Component class
The Component class provides 1 life cycle method of applet.
1. public void paint(Graphics g): is used to paint the Applet. It
provides Graphics class object that can be used for drawing oval,
rectangle, arc etc.
Who is responsible to manage the life cycle of an applet?
Java Plug-in software.

How to run an Applet?


There are two ways to run an applet
1. By html file.
2. By appletViewer tool (for testing purpose).

Simple example of Applet by html file:


To execute the applet by html file, create an applet and compile it. After
that create an html file and place the applet code in html file. Now click
the html file.

1. //First.java  
2. import java.applet.Applet;  
3. import java.awt.Graphics;  
4. public class First extends Applet{  
5.   
6. public void paint(Graphics g){  
7. g.drawString("welcome",150,150);  

8. }  

9.   

10. }  

Note: class must be public because its object is created by Java


Plugin software that resides on the browser.
myapplet.html

1. <html>  
2. <body>  
3. <applet code="First.class" width="300" height="300">  
4. </applet>  
5. </body>  
6. </html>  

Simple example of Applet by appletviewer tool:


To execute the applet by appletviewer tool, create an applet that
contains applet tag in comment and compile it. After that run it by:
appletviewer First.java. Now Html file is not required but it is for testing
purpose only.

1. //First.java  
2. import java.applet.Applet;  
3. import java.awt.Graphics;  
4. public class First extends Applet{  
5.   
6. public void paint(Graphics g){  

7. g.drawString("welcome to applet",150,150);  

8. }  

9.   

10. }  

11. /* 

12. <applet code="First.class" width="300" height="300"> 

13. </applet> 

14. */  

To execute the applet by appletviewer tool, write in command prompt:


c:\>javac First.javac:\>appletviewer First.java
Displaying Graphics in Applet
java.awt.Graphics class provides many methods for graphics
programming.
Commonly used methods of Graphics class:
1. public abstract void drawString(String str, int x, int y): is used to
draw the specified string.
2. public void drawRect(int x, int y, int width, int height): draws a
rectangle with the specified width and height.
3. public abstract void fillRect(int x, int y, int width, int height): is
used to fill rectangle with the default color and specified width and
height.
4. public abstract void drawOval(int x, int y, int width, int
height): is used to draw oval with the specified width and height.
5. public abstract void fillOval(int x, int y, int width, int height): is
used to fill oval with the default color and specified width and
height.
6. public abstract void drawLine(int x1, int y1, int x2, int y2): is
used to draw line between the points(x1, y1) and (x2, y2).
7. public abstract boolean drawImage(Image img, int x, int y,
ImageObserver observer): is used draw the specified image.
8. public abstract void drawArc(int x, int y, int width, int height,
int startAngle, int arcAngle): is used draw a circular or elliptical
arc.
9. public abstract void fillArc(int x, int y, int width, int height, int
startAngle, int arcAngle): is used to fill a circular or elliptical arc.
10. public abstract void setColor(Color c): is used to set the graphics
current color to the specified color.
11. public abstract void setFont(Font font): is used to set the

graphics current font to the specified font.


Example of Graphics in applet:

1. import java.applet.Applet;  
2. import java.awt.*;  
3.   
4. public class GraphicsDemo extends Applet{  
5.   
6. public void paint(Graphics g){  

7. g.setColor(Color.red);  

8. g.drawString("Welcome",50, 50);  

9. g.drawLine(20,30,20,300);  

10. g.drawRect(70,100,30,30);  

11. g.fillRect(170,100,30,30);  

12. g.drawOval(70,200,30,30);  

13.   

14. g.setColor(Color.pink);  

15. g.fillOval(170,200,30,30);  

16. g.drawArc(90,150,30,30,30,270);  

17. g.fillArc(270,150,30,30,0,180);  

18.   
19. }  
20. }  

myapplet.html

1. <html>  
2. <body>  
3. <applet code="GraphicsDemo.class" width="300" height="300">  
4. </applet>  
5. </body>  
6. </html>  

Displaying Image in Applet


Applet is mostly used in games and animation. For this purpose image
is required to be displayed. The java.awt.Graphics class provide a
method drawImage() to display the image.
Syntax of drawImage() method:

1. public abstract boolean drawImage(Image img,


int x, int y, ImageObserver observer): is used draw
the specified image.

How to get the object of Image:


The java.applet.Applet class provides getImage() method
that returns the object of Image. Syntax:
1. public Image getImage(URL u, String image){}  
Other required methods of Applet class to display image:

1. public URL getDocumentBase(): is used to return


the URL of the document in which applet is
embedded.
2. public URL getCodeBase(): is used to return the
base URL.

Example of displaying image in applet:

1. import java.awt.*;  
2. import java.applet.*;  
3.   
4.   

5. public class DisplayImage extends Applet {  

6.   

7.   Image picture;  

8.   

9.   public void init() {  

10.     picture = getImage(getDocumentBase(),"sonoo.jpg");  

11.   }  

12.     

13.   public void paint(Graphics g) {  

14.     g.drawImage(picture, 30,30, this);  

15.   }  

16.       
17.   }  
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

1. <html>  
2. <body>  
3. <applet code="DisplayImage.class" width="300" height="300">  
4. </applet>  
5. </body>  
6. </html>  

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:

1. import java.awt.*;  
2. import java.applet.*;  
3. public class AnimationExample extends Applet {  
4.   
5.   Image picture;  
6.   

7.   public void init() {  

8.     picture =getImage(getDocumentBase(),"bike_1.gif");  

9.   }  

10.     

11.   public void paint(Graphics g) {  

12.     for(int i=0;i<500;i++){  

13.       g.drawImage(picture, i,30, this);  

14.   

15.       try{Thread.sleep(100);}catch(Exception e){}  

16.     }  

17.   }  

18. }  
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

1. <html>  
2. <body>  
3. <applet code="DisplayImage.class" width="300" height="300">  
4. </applet>  
5. </body>  
6. </html>  

EventHandling in Applet
As we perform event handling in AWT or Swing, we can
perform it in applet also. Let's see the simple example of
event handling in applet that prints a message by click
on the button.
Example of EventHandling in applet:

1. import java.applet.*;  
2. import java.awt.*;  
3. import java.awt.event.*;  
4. public class EventApplet extends Applet implements ActionListener{  
5. Button b;  

6. TextField tf;  

7.   

8. public void init(){  

9. tf=new TextField();  

10. tf.setBounds(30,40,150,20);  

11.   

12. b=new Button("Click");  

13. b.setBounds(80,150,60,50);  

14.   

15. add(b);add(tf);  

16. b.addActionListener(this);  

17.   
18. setLayout(null);  
19. }  

20.   

21.  public void actionPerformed(ActionEvent e){  

22.   tf.setText("Welcome");  

23.  }   

24. }  

In the above example, we have created all the controls in


init() method because it is invoked only once.
myapplet.html

1. <html>  
2. <body>  
3. <applet code="EventApplet.class" width="300" height="300">  
4. </applet>  
5. </body>  
6. </html>  

JApplet class in Applet


As we prefer Swing to AWT. Now we can use JApplet
that can have all the controls of swing. The JApplet class
extends the Applet class.
Example of EventHandling in JApplet:

1. import java.applet.*;  
2. import javax.swing.*;  
3. import java.awt.event.*;  
4. public class EventJApplet extends JApplet implements ActionListener{ 

 
5. JButton b;  

6. JTextField tf;  

7. public void init(){  

8.   

9. tf=new JTextField();  

10. tf.setBounds(30,40,150,20);  

11.   

12. b=new JButton("Click");  

13. b.setBounds(80,150,70,40);  

14.   

15. add(b);add(tf);  
16. b.addActionListener(this);  
17.   

18. setLayout(null);  

19. }  

20.   

21. public void actionPerformed(ActionEvent e){  

22. tf.setText("Welcome");  

23. }  

24. }  

In the above example, we have created all the controls in


init() method because it is invoked only once.
myapplet.html
1. <html>  
2. <body>  
3. <applet code="EventJApplet.class" width="300" height="300">  
4. </applet>  
5. </body>  
6. </html>  
Painting in Applet
We can perform painting operation in applet by the
mouseDragged() method of MouseMotionListener.
Example of Painting in Applet:

1. import java.awt.*;  
2. import java.awt.event.*;  
3. import java.applet.*;  
4. public class MouseDrag extends Applet implements MouseMotionList

ener{  
5.   

6. public void init(){  

7. addMouseMotionListener(this);  

8. setBackground(Color.red);  

9. }  

10.   

11. public void mouseDragged(MouseEvent me){  

12. Graphics g=getGraphics();  

13. g.setColor(Color.white);  

14. g.fillOval(me.getX(),me.getY(),5,5);  

15. }  
16. public void mouseMoved(MouseEvent me){}  
17.   

18. }  

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

1. <html>  
2. <body>  
3. <applet code="MouseDrag.class" width="300" height="300">  
4. </applet>  
5. </body>  
6. </html>  

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:

1. import java.applet.*;  
2. import java.awt.*;  
3. import java.util.*;  
4. import java.text.*;  
5.   
6. public class DigitalClock extends Applet implements Runnable {  
7.   

8.    Thread t = null;  

9.    int hours=0, minutes=0, seconds=0;  

10.    String timeString = "";  

11.   

12.    public void init() {  

13.       setBackground( Color.green);  

14.    }  

15.   

16.    public void start() {  

17.         t = new Thread( this );  

18.         t.start();  

19.    }  
20.   
21.     

22.    public void run() {  

23.       try {  

24.          while (true) {  

25.   

26.             Calendar cal = Calendar.getInstance();  

27.             hours = cal.get( Calendar.HOUR_OF_DAY );  

28.             if ( hours > 12 ) hours -= 12;  

29.             minutes = cal.get( Calendar.MINUTE );  

30.             seconds = cal.get( Calendar.SECOND );  

31.   

32.             SimpleDateFormat formatter = new SimpleDateFormat("hh:mm:

ss");  
33.             Date date = cal.getTime();  
34.             timeString = formatter.format( date );  

35.   

36.             repaint();  

37.             t.sleep( 1000 );  // interval given in milliseconds  

38.          }  

39.       }  

40.       catch (Exception e) { }  

41.    }  

42.   

43.     

44.   public void paint( Graphics g ) {  

45.       g.setColor( Color.blue );  

46.       g.drawString( timeString, 50, 50 );  
47.    }  
48. }  

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

1. <html>  
2. <body>  
3. <applet code="DigitalClock.class" width="300" height="300">  
4. </applet>  
5. </body>  
6. </html>  

You might also like