②递归地将要update的MenuEditPart的下级Menu中,当前可见的所有Menu及其对应的MenuItem变为不可见。
3.3 数据存储
可扩展标记语言(Extensible Markup Language,XML)与其他格式的语言相比,具有以下优势:具有良好的扩展性,允许使用者创建和使用自己定义的标记来定义控件的类型和属性;树状存储结构和良好的自描述性,非常适合对界面元素进行描述;XML的灵活性提供了一种结构化的数据表示方式,使得用户界面分离于结构化数据。
因此,界面设计工具将界面设计结果存储为XML格式。由于Java中提供了XML文档生成和解析的类,因而简化了编码工作量,增强了软件可靠性。
示例如下:
最外层的Project表示内层都是界面的布局,第2层Dialog表示其内层对应一个对话框布局,第3层由多个<XXCtrl>和</XXCtrl>对构成(XXCtrl对应不同的控件名,比如buttonCtrl对应button控件)。每个XXCtrl代表一个控件,<XXCtrl>和</XXCtrl>对里面是控件的属性。第2层也可由多个<Content>和</Content>对构成,Content可为Dialog(对话框)、Menu(菜单)、Tool-Bar(状态条)、Icon(位图),其内层根据Content不同而由不同的XXCtrl对构成。
4 实验结果
可视化工具的运行界面如图6所示。左侧为工程管理区,可以看到当前工程建立的所有界面布局。中间部分的编辑区是一个打开的对话框布局,可在这里进行控件的drop/drag、undo/redo、move、delete、resize等操作。右侧是控件属性编辑区,用于修改控件属性(比如ID、文字风格、边框等)。
结 语
本文设计了一个MiniGUI可视化开发工具,利用Eclipse GEF实现。用户使用本工具可以对图形用户界面进行可视化的设计及修改,同时可以扩充自己的控件、定义控件的属性,丰富界面的表现形式。实验表明,本工具在实际系统中运行良好稳定,有效地提高了图形用户界面的开发效率。