// Select.java  click on points, connect the dots

import java.awt.*;
import java.awt.event.*;

public class Select extends Frame
{
  int x, y, b;
  int r1x1 = 100;
  int r1y1 = 120;
  int r1x2 = 200;
  int r1y2= 250;
  int r2x1 = 180;
  int r2y1 = 220;
  int r2x2 = 300;
  int r2y2= 350;
  Color color1 = Color.red;
  Color color2 = Color.blue;

  Select()
  {
    setTitle("Select");
    setSize(400,400);
    setBackground(Color.white);
    setForeground(Color.black);
    addWindowListener(new WindowAdapter()
    {
      public void windowClosing(WindowEvent e)
      {
        System.exit(0);
      }
    });
    setVisible(true);
    this.addMouseListener (new mousePressHandler());
  }

  class mousePressHandler extends MouseAdapter
  {
    public void mousePressed (MouseEvent e)
    {
      x = e.getX();
      y = e.getY();
      b = e.getButton();
      if(inrect(x,y,r1x1,r1y1,r1x2,r1y2)) color1 = Color.green;
      else                                color1 = Color.red;
      if(inrect(x,y,r2x1,r2y1,r2x2,r2y2)) color2 = Color.green;
      else                                color2 = Color.blue;
      requestFocus();
      System.out.println("at x="+x+"   y="+y+"   b="+b); // debug print
      repaint();
    }
  }

  public boolean inrect(int x, int y, int x1, int y1, int x2, int y2)
  {
    if(x<x1 || x>x2) return false;
    if(y<y1 || y>y2) return false;
    return true;
  }

  public void paint(Graphics g)
  {
    // draw objects
    g.setColor(Color.black);
    g.drawString("select an object with the mouse", 20, 50);
    g.setColor(color1);
    g.fillRect(r1x1, r1y1, r1x2-r1x1, r1y2-r1y1);
    g.setColor(color2);
    g.fillRect(r2x1, r2y1, r2x2-r2x1, r2y2-r2y1);
  }

  public static void main(String args[])
  {
    new Select();
  }
}


