import javax.swing.event.*;
import java.awt.*;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JSlider;

public class RectangleController2 extends JPanel {
  private JSlider mXSlide;
  private JSlider mYSlide;
  private RectanglePanel mView;
    
  public RectangleController2(RectanglePanel view) {
    mView = view;
    Dimension viewD = view.getPreferredSize();
    mXSlide = new JSlider(0, (int)viewD.getWidth());
    mYSlide = new JSlider(0, (int)viewD.getHeight());
    mXSlide.addChangeListener(new ChangeListener() {
	public void stateChanged(ChangeEvent e) {
	  // reset the x coordinate of the view's rectangle
	  mView.setCoordinates(new Point(mXSlide.getValue(), mYSlide.getValue()));
	}
      });
    mYSlide.addChangeListener(new ChangeListener() {
	public void stateChanged(ChangeEvent e) {
	  // reset the y coordinate of the view's rectangle
	  mView.setCoordinates(new Point(mXSlide.getValue(), mYSlide.getValue()));
	}
      });

    JPanel xP = new JPanel();
    xP.setLayout(new BorderLayout());
    xP.add(new JLabel("x"), BorderLayout.WEST);
    xP.add(mXSlide, BorderLayout.CENTER);
    JPanel yP = new JPanel();
    yP.setLayout(new BorderLayout());
    yP.add(new JLabel("y"), BorderLayout.WEST);
    yP.add(mYSlide, BorderLayout.CENTER);

    setLayout(new GridLayout(2,1));
    add(xP); add(yP);
  }
}
