文章目录
一、创建二次开发工程
1、软件安装
基于SuperMap iDesktopX 扩展开发,需在计算机中安装JDK1.8和Java开发工具,开发工具推荐使用IDEA。
2、开发工程配置
方式1:
安装IDEA之后,需打开扩展开发的工程模板SampleCode并进行配置,详细说明如下:
a)打开模板工程:
IDEA->File->Open->选择SuperMap iDesktopX产品包\templates\SampleCode目录,打开扩展开发示例模板工程。
b)设置环境:
设置Project的JDK环境为1.8,设置方式为:File->ProjectStructure->Project->Project SDK->在下拉列表中选择1.8。
c)添加桌面依赖:
在第2步的对话框中,依次选中Global Libraries->添加->JAVA,在弹出的Select Library Files对话框中,同时选中以下4个目录,单击OK按钮后,选择develop,即可将桌面依赖添加至二次开发插件。
●%iDesktopX产品包%/bin/
●%iDesktopX产品包%/bundles/idesktop_bundles/
●%iDesktopX产品包%/bundles/require_bundles/
●%iDesktopX产品包%/lib/
d)编译:
单击IDEA工具栏中的Run或者Debug按钮,编译后自动启动SuperMap iDesktopX,启动后Ribbon中“开始”选项卡中会增加二次开发的分组,其中包含了二次开发示例、删除重复点两个功能按钮。此时,则表示环境配置成功,用户即可基于SuperMap iDesktopX进行扩展开发。
方式2:
在SuperMap iDesktopX菜单栏中点击“视图”选项卡-“新建二次开发工程”。
点击完成之后可以直接在idea中打开工程,项目目录结构如下:
二、配置Maven
在IDEA中File->Settings->Build,Execution,Deployment->Build Tools->Maven配置Maven仓库信息。
配置完成之后选中项目模块右键Add Frameworks Support->Maven
注意:Maven配置完成之后再运行工程可能会出现某某程序包不存在的情况,这是因为配置Maven之后将原有工程中的依赖覆盖掉了。
此时需要打开工程的Project Settings,将桌面依赖重新添加到模块中即可。
三、配置功能
1、配置按钮
在SuperMap.Desktop.Develop.config文件中添加一个button
启动桌面后显示
2、给按钮配置功能
a)编写CtrlActionNewFrame和DialogNewFrame类,分别继承CtrlAction和SmDialog
public class CtrlActionNewFrame extends CtrlAction {
public CtrlActionNewFrame(IBaseItem caller) {
super(caller);
}
@Override
protected void run() {
new DialogNewFrame().showDialog();
}
}
class DialogNewFrame extends SmDialog {
public DialogNewFrame(){
JPanel jPanel = new JPanel();
jPanel.setVisible(true);
JTextArea jTextArea = new JTextArea();
jTextArea.setText("Hello World!!!");
jPanel.add(jTextArea);
this.setSize(new Dimension(500,300));
this.setTitle("CtrlActionNewFrame");
this.add(jPanel);
}
}
b)在第一步“配置按钮”中添加的button标签里面配置onAction=“CtrlActionNewFrame”
<button index="0" checkState="true" onAction="CtrlActionNewFrame" screenTip="" visible="true" image="../resources/Develop/Develop.svg" label="MyFirstButton"/>
c)启动工程
四、打包部署
在IDEA将二次开发工程运行后,会在桌面根目录\bundles\plugin_bundles下面生成对应的jar包,如要在其他电脑上部署该二次开发成果、只需将该jar包放在\bundles\plugin_bundles目录下然后启动桌面即可。