最近在网上找了一个可以轻松嵌入java程序的一个文本编辑器——XDOCBuilder,在程序中引入hg.jar包,可以很轻松的在自己的java桌面程序中嵌入编辑器,如图:
想在自己的程序中嵌入这个编辑器,但是有些功能又不需要,想去掉部分工具栏,面板标签等控件,这个工具本身没有向外提供操作各个控件的方法,所以找到源码分析了一下然后用java的反射机制编写一些工具类来管理编辑器上的控件。
编辑器的控件层次结构:
1. 整个编辑器界面的控件都封装在一个类中:com.hg.doc.c1
整个编辑器界面由三个部分构成:
1). 是一个类似于工具栏的控件,由工具栏的控件都封装在这个控件中:com.hg.doc.cm
2). 编辑器的编辑区域,编辑操作的区域,该区域的控件封装在一个JSplitPane控件中:JSplitPane
3). 类似于状态栏的一个控件:com.hg.swing.j2. 工具栏的控件分析:
该控件中主要有7个部分:全屏按钮,文件工具栏,编辑工具栏,选项工具栏,表格工具栏,多变形,路径,其中后3个默认大小为0;
1). 全屏按钮:一个普通按钮。
2). 文件工具栏:一个工具栏控件JToolBar,用于封装”保存”,“新建”,“打印”,“打开”等等操作的控件。
3). 编辑工具栏:一个工具栏控件JToolBar,用于封装“撤销”,“重做”,“剪切”,“删除”,“查找”等编辑操作的控件。
4). 选项工具栏:一个工具栏控件JToolBar,用于封装设置页大小,“抗据此”等操作的控件。
5). 在编辑器大小不足以放下所有工具栏时,自动曾加一个选择按钮,用于点击选择未显示的工具栏。3. 编辑区域控件分析:
1). 编辑操作界面的JTabbedPane
该控件中包含了5个选项卡:设计、预览、运行、查看XML、服务器。
A). 设计选项卡:是一个JPanel控件,选项卡Title=”设计(D)”。
B). 预览选项卡:是一个com.hg.doc.e1封装的控件,选项卡Title=”预览(P)”。
C). 运行选项卡:是一个com.hg.doc.e1封装的控件,选项卡Title=”运行(R)”。
D). 查看XML选项卡:是一个JScrollPane控件,选项卡Title=”查看XML”。
E). 服务器选项卡:是一个com.hg.doc.d封装的控件,选项卡Title=”服务器(S)”。
今天先写到这。
未完待续……………………………