Tuesday, August 7, 2012

(Painter)Event adapter and and their interfaces

         Event adapter classes and the interfaces they implement
ComponentAdapter        ComponenetListener
ContainerAdapter           ContainerListener
FocusAdapter                 FocusListener
KeyAdapter                    KeyListner
MouseAdapter                MouseListener
MouseMotionListener      MouseMotionListener
WindowAdapter             WindowListener

    This java program uses mouseDragged(not mouseMoved) event handler to create a simple drawing program.MouseMotionListener is defined as a subclass of MouseMotionAdapter, this already defines mouseMoved and mouseDraggedso simply override mouseDragged to provide drawing functionality.

Code:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;


public class(blue) Painter extends JFrame {
    //store the coordinates of mouseDragged event
    private int(blue) xValue=-10,yValue=-10;

   
    public Painter() {
        super ("Ullyses \"real myn tapei\" Cantos");
        getContentPane().add(
                new Label1("drag to draw"),BorderLayout.SOUTH);
        addMouseMotionListener(
                new MouseMotionAdapter(){
            @Override
                    public void mouseDragged(MouseEvent e)
                    {
                        valueNgX=e.getX();
                        valueNgY=e.getY();
            //call repaint to initiate drawing
                        repaint();
                    }
                }
                );
        setSize(600,300);
        show();
    }
    @Override
    public void paint(Graphics g)
    {
        g.fillOval(valueNgX,valueNgY,4,4);
    }
    public static void main(String args[])
    {
        Painter app=new Painter();
        app.addWindowListener(
                new WindowAdapter(){
            @Override
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
                }
                );
    }
}//end
OUTPUT:

              

1 comment: