Bonjour à tous,
voici l'implémentation d'un objet IDrawable que se "dessine" dans ma fenêtre principale ( ca donne un carré rouge ):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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(); } }et voici comment je les instancie dans mon main:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); } }
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dimension dim =new Dimension(8,8); IDrawable Marsa = new RectangleDrawable(Color.RED,new Point(930,70),dim);
Partager