本人想做一个绘图程序,主要功能是:自定义一些组件,比如“直线”、“方块”,供用户在画板上进行拖放、绘图。这些“直线”、“方块”不需要有缩放功能,只需提供所在位置的坐标即可。
    本人找不到相关资料,在此请教达人!!

解决方案 »

  1.   

    //图形接口
    public interface Grapher{
        public boolean draw(Point p,...);
        public boolean drag(Point sp, Point tp,...);
    }//框架类
    public class Controller{
        Grapher g;    //当前图形
        JPanel viewPanel;    //显示面板
        JPanel gSelectionPanel;    //图形选择面板,add所有的图形
        
        gSelectionPanel.addSelectionListener{ 当选择新的图形,那么g = newGrapher;}
        viewPanel.addDrawActionListener{g.draw();}
        viewPanel.addDragActionListener{g.drag();}
    }//下面是具体的图形类,实现了Grapher的方法
    public class LineGrapher implements Grapher{
        public boolean draw(Point p,...){画线;}
        public boolean drag(Point sp, Point tp,...){拖拽;}
    }public class RectGrapher implements Grapher{
        public boolean draw(Point p,...){画方块;}
        public boolean drag(Point sp, Point tp,...){拖拽;}
    }public class AppleGrapher implements Grapher{
        public boolean draw(Point p,...){画苹果(...呵呵);}
        public boolean drag(Point sp, Point tp,...){拖拽;}
    }
    ///要是扩展操作方法,比如说“橡皮擦”(即删除图形操作),那么在Grapher中随意扩展。
      

  2.   

    楼主这个程序jdk demo里面就有