子窗口的操作包括新建、激活、关闭,示例代码如下:
新建子窗口
以新建地图窗口为例,实现的示例代码如下:
//获取当前工作空间
Workspace workspace = Application.getActiveApplication().getWorkspace();
//获取工作空间中的首个数据源
Datasource datasource = workspace.getDatasources().get(0);
//获取数据源中的首个数据集
Dataset dataset = datasource.getDatasets().get(0);
//新建空白地图
IFormMap formMap = (IFormMap) FormUtilities.fireNewWindowEvent(WindowType.MAP);
//将数据集添加到新建的地图窗口
MapViewUIUtilities.addDatasetsToMap(formMap.getMapControl().getMap(), 0, dataset);
关闭子窗口
以关闭地图窗口为例,实现的示例代码如下:
//获取当前窗口
IForm activeForm = Application.getActiveApplication().getActiveForm();
//关闭地图窗口
Application.getActiveApplication().getMainFrame().getFormManager().close(activeForm);
激活子窗口
激活子窗口的示例代码如下:
//激活窗口改变监听
ActiveFormChangedListener listener = new ActiveFormChangedListener() {
@Override
public void activeFormChanged(ActiveFormChangedEvent activeFormChangedEvent) {
//窗口改变后执行的方法
}
};
//绑定激活窗口改变事件
Application.getActiveApplication().getMainFrame().getFormManager().addActiveFormChangedListener(listener);
//移除激活窗口改变事件
Application.getActiveApplication().getMainFrame().getFormManager().removeActiveFormChangedListener(listener);