画了一个Sequence:

其中Document包含一个Caret,用来表示光标位置,View从Document获得Caret的位置后,将光标显示在指定位置上。
为了简化,Application代表整个应用程序,Singleton模式,可以用Application.instance()获得唯一实例;Frame代表窗口,由Application创建,有且只有一个;View由Frame创建,有且只有一个;Document由View创建,有且只有一个。
整个程序的入口是:
public class Application {
??? // app start entry:
??? public static void main(String[] args) {
??????? Application app = Application.instance();
??????? app.run();
??? }
??? ...
}
当View收到PAINT消息后,就调用update()方法在屏幕上绘制:

当Document因为用户编辑而改变大小时,就调用docSizeChanged()通知View,然后调用update()更新View:

博客介绍了一个程序设计示例,其中Document含Caret表示光标位置,View从Document获取位置显示光标。应用采用Singleton模式,Application为唯一实例,创建Frame,Frame创建View,View创建Document。还给出程序入口代码,以及View收到消息和Document大小改变时的处理方式。
2万+

被折叠的 条评论
为什么被折叠?



