MouseListener particulier
Bonjour à tous,
voici l'implémentation d'un objet IDrawable que se "dessine" dans ma fenêtre principale ( ca donne un carré rouge ):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.geom.Ellipse2D;
import Listeners.DrawabListener;
public interface IDrawable {
public void draw(Graphics g);
public Rectangle getRectangle();
public void setToolTipText(String string);
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| public abstract class FormDrawable implements IDrawable {
protected Rectangle rect;
protected Color color;
public FormDrawable(Color color, Point pos, Dimension dim){
this.color=color;
this.rect = new Rectangle(pos,dim);
}
public abstract void draw(Graphics g);
public Rectangle getRectangle(){
return (Rectangle) rect.clone();
}
} |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| public class RectangleDrawable extends FormDrawable{
public RectangleDrawable(Color color, Point pos, Dimension dim) {
super(color, pos, dim);
}
public void draw(Graphics g) {
Color c = g.getColor();
g.setColor(color);
g.fillRect(rect.x,rect.y,rect.height,rect.width);
g.setColor(c);
}
} |
et voici comment je les instancie dans mon main:
Code:
1 2
| Dimension dim =new Dimension(8,8);
IDrawable Marsa = new RectangleDrawable(Color.RED,new Point(930,70),dim); |
Je voudrais interagir avec cet objet par clic de souris. Comment coder un MouseListener pour cet objet très particulier ? ( l'interface MouseListener marche trivialement pour les boutons, panneaux etc... mais ,paraît-il, pas pour mon objet) Merciiii