This site is currently read-only as we are migrating to Oracle Forums for an improved community experience. You will not be able to initiate activity until January 31st, when you will be able to use this site as normal.

    Forum Stats

  • 3,890,899 Users
  • 2,269,649 Discussions
  • 7,916,821 Comments

Discussions

ISSUE IN THE PAINT APPLICATION

843807
843807 Member Posts: 46,582
edited Aug 16, 2010 3:01PM in Abstract Window Toolkit (AWT)
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

Comments

This discussion has been closed.