画了一个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: