因为现在CS开始上课了,天天coding的生活开始了。很喜欢现在这种状态,对我而言coding是很幸福的,当然垃圾代码除外
1.EZ-UML
这是暑假CS软件工程我们小组的项目名称,主要的要求就是用java实现一个类似于Rational Rose或者PowerDesign的UML设计软件。采用纯GUI模式的。
当然3周多一点的时间是不可能开发一个PowerDesign的,所以这次的项目仅限OOM部分,就是UML里面的Class; package ; interface这种符号。
当然要做就要做的有挑战性些,至少要在OOM设计部分比上面的软件好吧,至少用户体验要好。用过PowerDesign的人都应该知道那个用MFC最原始框架的软件的UI有多么的poor.
我这次负责EZ-UML中Visual 的部分,也就是写一个对象显示、拖放、改变大小的编辑器引擎。说实话这方面一点经验也没,自从Stereoic开发好以来再也没写过这么没把握的代码了。
GUI内核采用了SWT,而非Swing(Swing的界面完全是重新绘制的,效率肯定没有SWT直接调用OS原生API的高啦,用Swing作UI...算了,matlab是什么样..)
这个引擎将来我会单独抽取出来,用这个开发矢量图编辑器甚至一个Visual Basic的Form编辑器应该不难了..

效果图
自认为还不错,得益于SWT自身支持DoubleBuffered绘图模式,所以显示效果非常的好。
就把这个作为我第一个java平台下的作品吧
2.Flash网站正式支持BackButton技术
因为还没完工,也不多介绍了,就是可以利用url来唯一定位flash中的内容。也可以像浏览普通页面用后退、前进来切换Flash页面里面的内容。
为此还解决了一个firefox下的显示bug
不过这个功能已经有人写了很好的js插件了:
提供的:dhtmlHistory.js
3.Blog支持代码自动上色
这个用了别人写的一个js脚本,在客户端完成上色任务。脚本是prettyprint.js。可以google上去找下。他会把出现在
<xmp class="code-csharp">
<xmp class="code-xml">
<xmp class="code-mdb">
中的代码自动用class所指名的语法上色。
上面就是xml上色的例子,再给各C家族的上色例子:
var elems = document.getElementsByTagName ("xmp");
for (n=elems.length - 1; n>=0; n--)
{
if (elems[n].className == "code-csharp") {
format (elems [n], formatCs);
}
else if (elems[n].className == "code-xml") {
format (elems [n], formatXml);
}
else if (elems[n].className == "code-mdb") {
format (elems [n], formatMdb);
}
else if (elems[n].className == "code-gaim") {
format (elems [n], formatGaim);
}
}
---------------------
EOF