代码没有,设计如下,抛砖引玉 class abstract shape{readFromXML();writeToXML();} class line extends shape{int x1,y1,x2,y2;} class circle ....自行约定XML表示图形的格式,类似下面这样; <root> <shape type="line" style=""> <shape type="circle ... </root> 绘制过程中,在内存中维护XML Dom 读文件和写文件是简单的XML操作
我记得在sun的网站上有类似的sample的,但不一定完全符合你的要求,你自己找找吧
或者Serializer也可以,呵呵。
class abstract shape{readFromXML();writeToXML();}
class line extends shape{int x1,y1,x2,y2;}
class circle ....自行约定XML表示图形的格式,类似下面这样;
<root>
<shape type="line" style="">
<shape type="circle ...
</root>
绘制过程中,在内存中维护XML Dom
读文件和写文件是简单的XML操作
我就看过这样的图形编辑的例子
绘制图形只是把鼠标事件的函数给换了
比如画圆
我们点击画圆的按钮,其实是在告诉鼠标现在调用画圆的函数
鼠标点击的当前位置是圆心,拖动后当前位置和圆心的距离是半径就是这个思路
至于保存的问题,就是保存成什么.gif文件呀
然后打开这个文件绘制完成后在重新保存为新的.gif文件这是最简单的!!
哈哈
赞成 xdop(鸿飞处) 的意见估计保存成GIF的就很难了。
写一个继承JComponent类的子类A,重写子类A的paint方法,在该方法里写出对该组件的图形绘制代码
这样在别的地方调用add(A),如果要删除些图形,就Remove(A),就这思路,你可以实现你的要求。
在保存时就保存A的属性,如长宽高、color等,文件类型用XML比较合适,JAVA与XML联系密切,用JDOM、dom、SAX都可以实现读取,读出后只要构造A,就可以显示出来了。
这是基本图形API的使用,DIY
2,可以将绘制的图形删除
用命令模式
3,能将用户任意绘制的任意数目的图形保存到文件,也可以从文件恢复
将状态序列化也就是writeObject,readObject啦慢慢琢磨吧,打这么多字,哦累了!