MultiPageEditor中的每一个页面,可以是一个Editor,也可以是任何的一个SWT Composite。创建多页面的Editor,首先需要继承MultiPageEditorPart。在MultiPageEditorPart的createPages()方法中创建每一个Page。创建Page的方法有两种,一种是使用addPage(IEditorPart,IEditorInput),接受一个Editor对象(创建这个Editor对象直接进行new XXXEditor()即可),另一种是使用addPage(Control control)。创建这个control时,使用getContainer()所得到的容器作为这个Composite的parent即可。而这个作为container的parent,可以想象的到,实际上就是一个CTabFolder。
这个CTabFolder在创建Editor时被自动创建,并将其addSelectionListener的响应事件,映射到MultiPageEditor的pageChange()方法上。因此,例如要同步不同页面之间的内容,如果要监听页面切换的事件响应,只需实现pageChange()方法即可。