SuperMap iDesktopX 采用Swing图形界面框架,Swing 是一个轻量级组件,采用纯 Java 实现,无需依赖于本地平台的图形界面,使得界面在所有平台的显示效果一致,同时支持跨平台显示。
Swing 组件都采用Model-View-Controller(即模型-视图-控制器)的设计,实现 GUI 组件的显示逻辑和数据逻辑的分离,从而允许程序员自定义 Render 来改变 GUI 组件的显示外观,以提供更多的灵活性。
Swing 容器组件直接继承 AWT 类库中的容器组件类,其他大部分组件都是继承 JComponet 组件。组件可以划分为容器组件和非容器组件,容器组件包括 JFmme 和 JDialog;JComponent 定义了非容器类的轻量级组件,例如:JBntton、JPanel、JMenu 等。
Swing的类库组织结构如下图:
- Component 是 SWING 的非菜单用户界面控件的一个抽象基类。组件代表一个用图形表示的对象。
- Container 是一个组件,它可以包含其他 SWING 组件。
- JComponent 是一个所有 swing UI 组件的基类。为了使用继承自 JComponent 的一个 swing 组件,组件必须是一个包容层次结构,它的根是一个顶层的 Swing 容器。