Thursday, December 16, 2010

Final - Painter



import java.awt.Point;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JPanel;

public class PaintPanel extends JPanel
{
private int pointCount=0; //count number of points

//array of 10000 java.awet.Point references

private Point[] points=new Point[10000];

//set up GUI and register mouse event handler

public PaintPanel()
{
//handle frame mouse motion event

addMouseMotionListener(
new MouseMotionAdapter() //anonymous inner class
{
//store drag coordinates and repaint

public void mouseDragged(MouseEvent event)
{
if(pointCount {
points[pointCount]=event.getPoint(); //find point

pointCount++; //increment number of points in array

repaint(); // repaint JFrame

}//end if
}//end method mouseDragged
}//end anonymous inner class
);//end call to addMouseMotion Listener
}//end PaintPanel constructor

//draw ovals in a 4 by 4 bounding box at specified locations on window

public void paintComponent(Graphics g)

{
super.paintComponent(g); //clears drawing area

//draw all points in array

for (int i=0; i
g.fillOval(points[i].x, points[i].y,4,4);

}//end method paintComponent
}//end class PaintPanel

------------------------------------------------------------------------------------


import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Painter

{
public static void main(String[]args)
{
//create JFrame

JFrame application=new JFrame("A simple paint program");

PaintPanel paintPanel=new PaintPanel(); //create paint panel

application.add(paintPanel, BorderLayout.CENTER); //in center

//create a label and place it in SOUTH of border layout

application.add(new JLabel("Drag the mouse to draw"),BorderLayout.SOUTH);

application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

application.setSize(400,200); //set frame size

application.setVisible(true); //display frame

}//end main
}//end class Painter

No comments:

Post a Comment