Hi there,
I am doing Paint application using Dessign Pattern Abstract Factory. So far I have done canvas, stroke, and I could write on it. The problem is I want to create menu in which they will be Rectangle, Circle and so on objects but I do not know how to implement them, so when I click on the bar in the menu, and point somewhere stroke to draw me Rectangle, Circle or anything else. Anyway here is my code I have done, and main problem lays in how to implement that when I click on the bar it gets me a rectangle, circle ....
Here is the code :
interface ShapesFactory {
public ShapeInterface createShape();
}
public class RectangleFactory implements ShapesFactory {
public RectangleFactory() {
}
public ShapeInterface createShape() {
return (ShapeInterface) new Rectangle();
}
}
public interface ShapeInterface {
public void createShape(Graphics2D g, int x1, int y1);
}
public class Rectangle implements ShapeInterface{
public void createShape(Graphics2D g, int x1, int y1) {
GeneralPath gp = new GeneralPath();
gp.moveTo(x1, y1);
gp.lineTo(x1, 20+y1);
gp.lineTo(30+x1, 20+y1);
gp.lineTo(30+x1, y1);
gp.lineTo(x1, y1);
gp.closePath();
g.fill(gp);
}
Now problem is I do not know how to implement that when I click on the rectangle bar it switches to the rectangle, and I can draw with my stroke rectangle anywhere on the canvas. Please, help me.
Edited by: Desperad0s on Aug 13, 2010 11:33 AM