SuperMap iMaritimeEditor 产品包提供了扩展开发示例模板工程,即安装目录/templates/SampleCode文件夹,通过IDEA->File->Open->选择 SuperMap iMaritimeEditor 产品包\templates\SampleCode目录,即可打开扩展开发示例模板工程。
SampleCode示例模板工程共有两个 Module,分别为SampleCode Module、Develop Module,示例模板工程即SampleCode工程,其中Develop Module就是我们的开发Module。
SampleCode Module
SampleCode Module主要通过此module的pom文件管理远程仓库地址及所有子module(自定义插件),不实现任何具体功能。详情参见SampleCode的pom.xml文件。注意:jar生成的路径不可修改。
Develop Module
Develop module是扩展开发示例module,内部主要的类有三个,分别为MyStartUp、DevelopPlugin、CtrlActionSampleCode。
MyStartUp
MyStartUp 是二次开发启动的入口。
DevelopePlugin
DevelopePlugin是“插件类”必须实现,命名规则为module name+“Plugin”,必须继承实现AbstractPlugin类,否则Develop module所有功能均无法使用,具体实现方式参见DevelopePlugin类。
CtrlActionSampleCode
CtrlActionSampleCode是示例开发类。CtrlActionSampleCode类中包含了用于响应控件事件触发时所要执行的内容,即与 UI 控件绑定的类,该类必须继承自 CtrlAction 类。具体实现方式参见CtrlActionSampleCode类。
public class MyStartUp {
public static void main(String[] args) {
// user.dir must be the directory where iDesktop.jar is located
// user.dir 必须是iDesktop.jar所在的目录路径
System.setProperty("user.dir", System.getProperty("user.dir").replace(File.separator + "templates" +
File.separator + "SampleCode", ""));
// to do your things
Application.setActiveApplication(new Application());
if (!Application.getActiveApplication().initialize()) {
System.exit(0);
}
}
}
注意:user.dir必须是idesktop.jar所在目录,也就是安装目录;自定义启动module不能执行除了启动桌面相关的任何功能,只负责启动桌面;通过自定义启动启动桌面,不需要手动执行maven clean和maven install或maven package。
相关内容