This discussion is archived
3 Replies Latest reply: Aug 16, 2010 12:01 PM by 843807 RSS

ISSUE IN THE PAINT APPLICATION

843807 Newbie
Currently Being Moderated
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