ae(ArcEngine) java swing开发入门系列(1):开发环境和代码部署
前言:做ae开发大部分人都是用C#版,很少用到java版,本系列文章主要介绍java版ae开发的入门,对于ae接口的高级应用,可以看C#版相关文章
开发环境软件:
Intellij IDEA 2018
java jdk 1.8 32位版
arcgis desktop 10.4.1
ArcObject sdk java 10.4.1
PS:本文要求读者有一定java开发基础,有jdk配置和idea使用经验,否则牵涉基础知识太多没法解释全
PS:本文使用的控件库是swing,swing是目前java cs端最流行,资料最全,坑最少,但不是最新的控件库。更新的JavaFX在嵌入MapControl不能正常显示,但除了MapControl之外的ae接口倒是正常
PS:ae 10.4的运行环境,也就是以前的ae runtime叫ArcGIS_Engine_Windows_1041_152027.exe,如果用的是破解,千万不能装!!装了后许可初始化不能通过,因此现在用desktop作为运行环境
首次进行java ae开发的配置
首先是idea的配置
此配置意思是swing界面编辑结果自动生成到代码(PS:对于winform开发就是designer文件)
每次打开新代码的配置
PS:本文配有demo代码,这里的说明是针对这套代码的,跟ae和swing没有绝对的关系
本代码使用了maven,集成了springboot,因此打开代码后,jdk配置,刷新maven依赖等都要做一次,在此不展开说明
Jdk方面,只能用32位的jdk(因为ae和Arcgis desktop都是32位软件,而我们的程序调用了他们的dll)
引用依赖forms_rt.jar:
Swing编译时需要forms_rt.jar,此文件在idea安装目录中
添加完成后的样子
复制arcobjects.jar到代码文件:
由于arcobjects.jar很大所以没打包到代码,要开发人员自行获取并拷到代码的指定目录
arcobjects.jar在arcgis desktop的安装目录下,这里:
PS:奇怪的是DeveloperKit10.4目录下没此文件
然后拷到代码中这个目录
Run Debug配置:
除了一般的配置外,还要增加这些
在Run Debug配置添加一个maven项目,并添加下图一句:spring-boot:run(PS:这是springboot需要的)
在Runner(这里配置的java运行环境的配置)的tab,不勾选【使用工程配置】,【vm option】输入-Djava.library.path="C:\Program Files (x86)\ArcGIS\Desktop10.4\bin",注意这是desktop安装目录,要按自己电脑真实情况修改
到此代码配置完成,可以开始调试,点这里
运行效果,这套代码是一个demo,可以从各按钮找到对应的demo代码
附属代码,百度网盘:链接:https://pan.baidu.com/s/1NmbDyLS2PulWPnK6usfm7g
提取码:gxa2
csdn下载:https://download.csdn.net/download/cannel/10951872
ae(ArcEngine) java swing开发入门系列(1):开发环境和代码部署的更多相关文章
- 【JAVA零基础入门系列】Day2 Java集成开发环境IDEA
开发环境搭建好之后,还需要一个集成开发环境也就是IDE来进行编程.这里推荐的IDE是IDEA,那个老掉牙的Eclipse还是先放一边吧,(手动滑稽). IDEA的下载地址:http://www.jet ...
- 【JAVA零基础入门系列】Day1 开发环境搭建
[JAVA零基础入门系列](已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day ...
- 【JAVA零基础入门系列】Day4 变量与常量
这一篇主要讲解Java中的变量,什么是变量,变量的作用以及如何声明,使用变量. 那么什么是变量?对于初学者而言,可以将变量理解为盒子,这些盒子可以用来存放数据,不同类型的数据需要放在对应类型的盒子里. ...
- 【JAVA零基础入门系列】Day5 Java中的运算符
运算符,顾名思义就是用于运算的符号,比如最简单的+-*/,这些运算符可以用来进行数学运算,举个最简单的栗子: 已知长方形的长为3cm,高为4cm,求长方形的面积. 好,我们先新建一个项目,命名为Rec ...
- 【JAVA零基础入门系列】Day6 Java字符串
字符串,是我们最常用的类型,每个用双引号来表示的串都是一个字符串.Java中的字符串是一个预定义的类,跟C++ 一样叫String,而不是Char数组.至于什么叫做类,暂时不做过多介绍,在之后的篇章中 ...
- 【JAVA零基础入门系列】Day8 Java的控制流程
什么是控制流程?简单来说就是控制程序运行逻辑的,因为程序一般而言不会直接一步运行到底,而是需要加上一些判断,一些循环等等.举个栗子,就好比你准备出门买个苹果,把这个过程当成程序的话,可能需要先判断一下 ...
- 【JAVA零基础入门系列】Day9 Java中的那个大数值
什么是大数值?用脚趾头想也知道,当然是"大"的数值(233).Java中有两个用于表示大数值的类,BigInteger和BigDecimal,那到底能表示多大的数值呢?理论上,可以 ...
- 【JAVA零基础入门系列】Day10 Java中的数组
什么是数组?顾名思义,就是数据的组合,把一些相同类型的数放到一组里去. 那为什么要用数组呢?比如需要统计全班同学的成绩的时候,如果给班上50个同学的成绩信息都命名一个变量进行存储,显然不方便,而且在做 ...
- 【JAVA零基础入门系列】Day11 Java中的类和对象
今天要说的是Java中两个非常重要的概念--类和对象. 什么是类,什么又是对象呢?类是对特定集合的概括描述,比如,人,这个类,外观特征上,有名字,有年龄,能说话,能吃饭等等,这是我们作为人类的相同特征 ...
- 【JAVA零基础入门系列】Day12 Java类的简单应用
俗话说的好,实践出真知,所以除了理论知识掌握扎实以外,更重要的是要多加操练,这样才能掌握核心科技. 今天我们就用刚学会的类来实践一下,目标便是完成上一篇中的剁手任务. 我们的商品类已经准备好了,代码重 ...
随机推荐
- JAVA + SELENIUM--环境搭建
一.安装JDK 可在JAVA官网http://www.java.com/zh_CN/download/ 中下载最新的JDK,并按提示安装 环境变量配置:我的电脑右键-->属性--&g ...
- HDU-5979
Convex Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Subm ...
- 虚拟机中的Linux安装VMware Tools
虚拟机中的Linux安装VMware Tools Tools" TITLE="虚拟机中的Linux安装VMware Tools" /> Tools" TI ...
- xgene:之illumina,,ion-torrent
illumina技术: 工具:flowcell(流动池):8通道,每个通道都有 2种DNA引物 种在玻璃表面(用共价键连到Flowcell上),这引物和文库中的接头互补 Flowcell:8个l ...
- 利用mysql客户端查询UCSC数据库
UCSC Genome Browser是由University of California Santa Cruz (UCSC) 创立和维护的,该站点包含有人类.小鼠和大鼠等多个物种的基因组草图和注释信 ...
- 教程:动手用自己电脑搭建一个网站 (nat123 花生壳 动态域名 个人电脑做服务器)
先ps一下..今晚试了N种方法,终于找到一个靠谱 免费 好用的方法,来改装自己电脑成为服务器,在外网也能通过域名访问了!!! 需要准备的东西: Tomcat:这个是web容器,其实有了这个就已经让电脑 ...
- Vector源码剖析
参考:http://blog.csdn.net/ns_code/article/details/35793865
- [51nod] 1007 正整数分组 dp
将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1,是所有方案中相差最少的. Input 第1行:一个数N,N为正整数的数量 ...
- ios 适配问题
两张图解决
- linux grep (转)
常用用法 [root@www ~]# grep [-acinv] [--color=auto] '搜寻字符串' filename 选项与参数: -a :将 binary 文件以 text 文件的方式搜 ...