自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

廖雪峰的Blog

==> www.liaoxuefeng.com

  • 博客(10)
  • 问答 (1)
  • 收藏
  • 关注

原创 Jexi设计 (8) 使用SWT创建GUI

目前Document类的结构已经比较完善了,由于编辑Document涉及到界面,所以先把GUI写出来。 用Java做界面一直是比较麻烦的事情,早期的AWT太慢,现在很少用了,Swing我没用过,但速度也快不了多少,最后发现SWT是一个不错的本地库,速度够快,而且效果和本地平台一样(因为是调用的平台相关API),不仔细看根本看不出是java做的。 不过,考虑到移植性,我决定把Frame分成平台无关和

2004-07-31 16:28:00 5282 6

原创 Jexi代码 (7) Document类

Document相关类写得差不多了,先发布一个0.1版的代码,zip下载,还有很多要完善。 用Rose画的UML图,比较大 :) 如果你对设计有任何意见或建议,欢迎提出来讨论!

2004-07-28 19:19:00 3208 2

原创 Jexi设计 (6) View设计

以下讨论View的设计。 Document是抽象的文档类,它包含了所有的数据和如何显示的信息,我们已经通过Page,Paragraph,Row等等抽象出来了。 Frame代表窗体对象,负责构造出窗体,菜单栏,工具栏等等,它可以接受用户的命令,然后将命令传递给Document。 View代表视图对象,负责绘制文档数据,它在update()方法中绘制可视区域。 除了绘制文档数据,视图还可能要绘制滚动条

2004-07-27 19:25:00 3962 6

原创 Jexi设计 (6) Document类的UML

前面讨论了用Document类表示MVC结构中的文档,并抽象出接口Glyph用于Composite模式,派生两类Glyph:基本数据结构Char,Picture和Paragraph;显示模型结构Row和Page,UML图如下: 对于任意一个Glyph对象,它可以知道: 自身的子结点 - child(), size(); 添加,删除子结点 - add(), remove(); 自身占据的大小 -

2004-07-24 00:17:00 4566 5

原创 Jexi设计 (5) 页面样式

仿照Microsoft Word,PageStyle的基本属性: float width; // 总宽度float height; // 总高度float leftMargin; // 左边距float rightMargin; // 右边距 float topMargin; // 上边距float bottomMargin; // 下边距 float bindingMargin; // 装订线

2004-07-22 20:48:00 4398

原创 Jexi设计 (4) 文档类设计

文档类Document需要解决的三个问题: 1.?文档数据如何存储: 为了表示文档的层次结构而非显示结构,使用Composite模式,借用GoF的设计,定义接口Glyph,抽象出以下类: Char类:表示一个字符。 Picture类:表示一个图片。 Paragraph类:由若干个Char和Picture组成的段落,用ArrayList : glyphs存储Char和Picture。 Docume

2004-07-18 18:24:00 9531 6

原创 Jexi设计 (3) MVC模型

整个应用程序的模型准备采用文档-视图(document-view)模型,这里借用一下MFC的概念。 定义文档类Document,用于表示文档。 定义视图类View,用于显示文档。 框架类Frame可以用Swing或SWT实现。 因此,Jexi类似于MFC程序的MVC结构。

2004-07-18 18:08:00 4569

原创 Jexi设计 (2) 用户需求

Jexi计划实现一个所见即所得的图文混排的编辑器,支持以下功能: 基本功能:文字录入,复制粘贴,删除,查找替换,打印等基本编辑操作。 扩展功能:图文混排,打印预览,多步Redo/Undo等。 暂不考虑其他如表格,绘图,特殊效果如字符阴影等复杂功能。 开发平台:java 1.4 开发工具:eclipse 3.0 计划时间:2个月

2004-07-16 19:15:00 4528

原创 Jexi设计 (1) Lexi研究

从今天开始准备正式写Jexi编辑器,目标就是《设计模式》中的C++例子Lexi:一个图文混排的所见即所得编辑器: 今天在公司闲的时候把《design patterns》的Lexi设计部分仔细看了一遍,整理了一下GoF的设计: 文档结构:应用Composite模式,如图: 通过接口Glyph,应用Composite模式,将多个对象组织起来: 文档格式:通过一系列Formatting Algo

2004-07-16 18:42:00 9341 7

原创 Jexi计划

最近准备再从头到尾深入看一遍《设计模式》,其中有一个案例研究:C++写的Lexi图文混排的编辑器,我准备用Java写一个类似的Jexi,呵呵,还不知道功力够不够,能不能写得出来,各位blogger有什么建议? 附图:Lexi:

2004-07-15 21:30:00 5211 9

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除