分享
 
 
 

我的Java矢量绘图程序之路

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

1. 下岗再就业。 2003年7月,我离开了工作6年的公司,开始新的生活。我已经开始喜欢,

并用Java做了一些JSP/Servlet应用。此前我主要是在Delphi下工作,8年Delphi经验,枉为开发部经理。

2. 想法。 一个朋友用Delphi开发了矢量控件,卖得不错,触动了我.我也想做一个,用业余时间,用什么? java,想都没想过Swing/awt是什么东西就开始准备。自以为基础还可以,因为

做过Delphi矢量程序方面的经验,语言不同,方法相同。

3. 选择。

1)JBuilder, Eclipse这两个东西,一个要付费的,一个是免费的。不过到了目前国人手里,基本都是免费的。用哪个?试了半天,都好。前者因为收到过Borland的律师信,所以不敢用,而且速度慢,配置要求高,而且没有Pure sun java,所以不用。后者前身是IBM(没有记错的话)的东西,果然不错,但是还是没用。因为看了好久,也没觉得他们胜过UltraEdit多少。说到这,看官可能以为我蠢得可以,我也这样觉得。但最终选择了UltraEdit和Unix VI作为主要开发工具。

2) Java2D能做什么?我看了半天,可能JGraph这个开源项目是经典吧。我总结了一下JGrpah:设计非常好,扩展很容易,至少很多人这么说的。我也这么觉得。缺点是,很奇怪,速度很慢。程序宠大,自信靠一人之力,做不出来的,这是Team job.

Java2D太好了,很多功能,但是根据以前的经验,它往往有不足,不足在什么地方?就是没有完整的矢量应用。后来看到用Java2D做SVG和Flash的,才知道还不错,只是自己误解了。但是考虑到可能的产品移植,比如其它的语言环境,我还是放弃了大多数Java2D的功能。决定自己实现如Intersect,contains等等功能。即重写Rectangle2D,Line2D,Point2D等东西。可能蠢了点,看官不要笑话。

3)没仔细看过Swing/Awt什么东西,也真的不太熟悉MVC,就做?可能吗。我不去想了,先设计设计吧,大年初一就设计了。先不管那么多。事实上我就这样过来了,而且还走得顺利。只是有很多地方要Refactoring罢了。这里,要感谢Google.

4. 开动。

1)早看过了UML,也了解OO,以前还给同事上过OO的课呢,但是还是不了解OO.在设计时,定义的不少 接口,都变成了AbstractClass,不知何故,只是因为在下面Implements一下之后,就一定要写东西,即使 没东西可写也要写一下,后来就换成了AbstractClass,烦。

2)以前写矢量程序,是不得已,这次是自找苦吃,那么应该补一点课吧,买了好多几何书,没一本说全的,最后还是看看国外的MathForum,说得很好。记得有一篇文章是这样说的,看完这些东西,你又回到了高一水平。

3) 写成英文版吧,要换成中文也不难,但是换过去就麻烦了。所有的Comments/API documents都要写成英文,中文就回不去了。 英文水平实在不佳,但将就吧。

4) 实现所有的类库,实在是累,整整6个月的业余时间。中间还负责洗了两个月的碗,家庭支持最重要。当初选择UltraEdit是一时性起,但是调试过程实在是痛苦。不过现在感觉好多了。

5)从Point做起,Rectangle,Ellipse,Bezier Curve, Arc/chord/pie, 一直往前台写。怎么看都觉得不如 Point2D,Rectangle2D,Curve2D..但是后来运行正常,也觉得可以,因为不需要因为继承Java2D而承担过多的压力。

6)程序中,难免用上XML,我选择了JDOM, 在我的1.0.0版程序中, JDOM让我的JAR文件变成了1.5MB,我火大,自己写了一个MiniDOM,Jar文件缩小为380KB,开心.

5.发布。

1)起个名吧,虽然前面Java定义了Package name,但觉得不好,我又改了,就定为JFDraw(现在可以在Google上查); 跟JDraw有点混,但不是一回事。

2)先发布个Free version再说,对于Java,写Shareware要担一点风险,所以还是先发布个Freeware吧。起名JFDraw Free Version 1.0.0.

3)做了网页,到国内外网站上发布了一下,过了几天,有个England的朋友给我回信:

... My first impression is that it's the best vector draw freeware

program I've come across, and I'll no doubt be saying that on the

details page ...

看上去还不错,有点夸大其辞,不过给了我信心。

4)还有个朋友说,在Linux下运行良好,但事实上我没有在Linux下调试过(没空调试),很高兴。

5)然后就是要求改进的信了,呵呵,心下想,这下可有事做了,有朋友支持就行。总算辛苦没有白费。

6. 继续努力。

事情还远没有结束,这个程序才开了个头,不过,还是有很多想法,希望朋友们支持,以后多多努力以感谢大家。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有