3 Replies Latest reply: Aug 16, 2010 2:01 PM by 843807 RSS

    ISSUE IN THE PAINT APPLICATION

    843807
      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