News:

Choose a design and let our professionals help you build a successful website   - ITAcumens

Main Menu

Methods for Drawing and Event Handling

Started by sukishan, Jul 15, 2009, 03:09 PM

Previous topic - Next topic

sukishan

Using the Paint Method
To draw the applet's representation within a browser page, you use the paint method.

For example, the Simple applet defines its onscreen appearance by overriding the paint method:

public void paint(Graphics g) {
   //Draw a Rectangle around the applet's display area.
        g.drawRect(0, 0,
         getWidth() - 1,
         getHeight() - 1);

   //Draw the current string inside the rectangle.
        g.drawString(buffer.toString(), 5, 15);
    }

Applets inherit the paint method from the Abstract Window Toolkit (AWT) Container class.

Handling Events
Applets inherit a group of event-handling methods from the Container class.

The Container class defines several methods, such as processKeyEvent and processMouseEvent, for handling particular types of events, and then one catch-all method called processEvent.

To react to an event, an applet must override the appropriate event-specific method. For example, the following program, SimpleClick, implements a MouseListener and overrides the mouseClicked method.

/*
* Java(TM) SE 6 version.
*/

import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.applet.Applet;
import java.awt.Graphics;

//No need to extend JApplet, since we don't add any components;
//we just paint.
public class SimpleClick extends Applet
          implements MouseListener {

    StringBuffer buffer;

    public void init() {
   addMouseListener(this);
   buffer = new StringBuffer();
        addItem("initializing... ");
    }

    public void start() {
        addItem("starting... ");
    }

    public void stop() {
        addItem("stopping... ");
    }

    public void destroy() {
        addItem("preparing for unloading...");
    }

    void addItem(String newWord) {
        System.out.println(newWord);
        buffer.append(newWord);
        repaint();
    }

    public void paint(Graphics g) {
   //Draw a Rectangle around the applet's display area.
        g.drawRect(0, 0,
         getWidth() - 1,
         getHeight() - 1);

   //Draw the current string inside the rectangle.
        g.drawString(buffer.toString(), 5, 15);
    }

    //The following empty methods could be removed
    //by implementing a MouseAdapter (usually done
    //using an inner class).
    public void mouseEntered(MouseEvent event) {
    }
    public void mouseExited(MouseEvent event) {
    }
    public void mousePressed(MouseEvent event) {
    }
    public void mouseReleased(MouseEvent event) {
    }

    public void mouseClicked(MouseEvent event) {
   addItem("click!... ");
    }
}
A good beginning makes a good ending