You could implement this with a class like this:

public class ShapeObject implements Shape {
 private final Shape shape;
 private float x = 0;
 private float y = 0;

 public ShapeObject(Shape shape) {
   this.shape = shape;
 }

 public float getX() {
   return x;
 }

 public void setX(float x) {
   this.x = x;
 }

 public float getY() {
   return y;
 }

 public void setY(float y) {
   this.y = y;
 }

 public boolean *contains*(double x,  double y) {
   return shape.contains(x - this.x, y - this.y);
 }

 public Rectangle2D *getBounds2D*()  {
   Rectangle2D bounds2D = shape.getBounds2D();
   bounds2D.setRect(bounds2D.getX() + x, bounds2D.getY() + y,
bounds2D.getWidth(), bounds2D.getHeight());
   return bounds2D;
 }

 public PathIterator *getPathIterator*(AffineTransform at) {
    AffineTransform at2 = new AffineTransform(at);
    at2.translate(x, y);
    return shape.getPathIterator(at2);
 }


 // You have to implement the other Shape methods yourself


}


This class is more or less all you need. Put each of your shapes into a
ShapeObject class and move the ShapeObjects around using the setX() and
setY() methods.

BTW, the questions was not too stupid to be answered, but most people
have quite a lot to do so answers sometimes take a bit longer or never come.


Cheers
Jan





Danilo Costa wrote:

No body has any idea? Or is the question too much stupid to be answered?

On 10/22/06, *Danilo Costa* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:

    I think it is a dummy question, but I cant find its answer easily.

    I have a collection of Shapes that are rendered in a canvas and I
    have to let the user to interact with it, dragging it.
    I've found this example
    http://java.sun.com/docs/books/tutorial/2d/display/user.html
    called Shape mover, but actually it works only with Rectangle
    class, which has convenient methods for that, such as setLocation
    and translate. I am wondering why Shape interface does not define
    those methods? How can I implement such methods when I am working
    with generic shapes? Any help is appreciate.

    Tahanks
    Danilo
    --
    "...YOU CANNOT KNOW THE MEANING OF YOUR LIFE UNTIL YOU ARE
    CONNECTED WITH THE POWER THAT CREATED YOU..."
    Shri Mataji Nirmala Devi




--
"...YOU CANNOT KNOW THE MEANING OF YOUR LIFE UNTIL YOU ARE CONNECTED
WITH THE POWER THAT CREATED YOU..."
Shri Mataji Nirmala Devi
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the
body of the message "signoff JAVA2D-INTEREST". For general help, send
email to [EMAIL PROTECTED] and include in the body of the message
"help".

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to