Java Reference
In-Depth Information
LISTING 8.18
continued
private
ArrayList<Point> pointList;
//-----------------------------------------------------------------
// Constructor: Sets up this panel to listen for mouse events.
//-----------------------------------------------------------------
public
DotsPanel()
{
pointList =
new
ArrayList<Point>();
addMouseListener (
new
DotsListener());
setBackground (Color.black);
setPreferredSize (
new
Dimension(300, 200));
}
//-----------------------------------------------------------------
// Draws all of the dots stored in the list.
//-----------------------------------------------------------------
public void
paintComponent (Graphics page)
{
super
.paintComponent(page);
page.setColor (Color.green);
for
(Point spot : pointList)
page.fillOval (spot.x-SIZE, spot.y-SIZE, SIZE*2, SIZE*2);
page.drawString ("Count: " + pointList.size(), 5, 15);
}
//*****************************************************************
// Represents the listener for mouse events.
//*****************************************************************
private class
DotsListener
implements
MouseListener
{
//--------------------------------------------------------------
// Adds the current point to the list of points and redraws
// the panel whenever the mouse button is pressed.
//--------------------------------------------------------------
public void
mousePressed (MouseEvent event)
{
pointList.add(event.getPoint());
repaint();
}
Search WWH ::
Custom Search