介绍
本系列教程将向您展示如何使用OpenMap GIS Java Swing库构建Java应用程序。
OpenMap的开发人员指南是非常有用的文档,描述了OpenMap的体系结构,但没有说明如何逐步启动和构建应用程序。 源代码附带的示例很有用,但还不够。
OpenMap是用Swing编写的。 在撰写本文时,最新版本是5.1.12。 您可以从GitHub下载源代码和可执行jar。 将其复制/解压缩/克隆到目录后,可以通过运行适用于您平台的相关脚本( openmap.bat
或openmap
)或双击lib/openmap.jar
来执行它。 您应该看到一个完整的GIS应用程序,如图1所示。在本系列文章的最后,我们将尝试构建一个类似的应用程序。 OpenMap源代码还包含一些有关如何使用OpenMap的示例。 在本教程中,我们将基于com.bbn.openmap.app.example.SimpleMap
。 在第二个教程中,我们将使用com.bbn.openmap.app.example.SimpleMap2
代码。 以后的教程将基于其他示例。
在本系列教程中,我们将使用最新的NetBeans IDE 8.1创建我们的应用程序。
教程1 –构建基本的地图应用程序
创建一个JFrame应用程序
在第一个教程中,我们将构建一个包含映射的基本JFrame
应用程序(参见图2)。 通过执行以下步骤,打开NetBeans并创建一个新的Java应用程序:
- 打开菜单File→New Project,然后选择Category : Java和Project : Java Application (图3)。 单击下一步 。
- 在下一步中,提供名称和位置。 确保对库使用专用文件夹,并且不要选择主类(图4)。 点击完成 。
- 创建新项目后,右键单击Source Packages,然后从弹出菜单中选择New→Java Package ,以创建一个名为
openmap
的新软件包。 - 右键单击“ 库”文件夹,然后从弹出菜单中选择“ 添加JAR /文件夹 ”操作。 导航到OpenMap安装的
lib
文件夹,然后选择openmap.jar
。 您可以使用相对路径,也可以将其更好地复制到Libraries文件夹中(图5)。 单击“ 打开”关闭对话框!
- 您还需要复制地图文件。 最常见的格式是
.shp
(ESRI Shape)。 通过在NetBeans中选择“ 文件”窗口,右键单击OpenMap1
项目,然后从弹出菜单中选择“ 新建”→“文件夹” ,创建一个新的文件夹层次结构resources/map
。 输入名称resources
,然后单击确定 。 右键单击resources
文件夹,然后重复该过程以在其中创建地图文件夹。 将share/data/shape
文件夹从您的OpenMap安装复制到map
文件夹 - 右键单击
openmap
包,然后从弹出菜单中选择New→JFrame Form ,以创建新的JFrame
表单。 给它起一个名字,例如MapFrame ,然后单击Finish 。
- 单击Source按钮以查看生成的代码(请参见清单1)。
- 添加行
super("Simple Map");
在构造函数中设置窗口标题。 - 构造函数初始化
JFrame
。 到目前为止,没有添加任何内容。 由于它是一个GUI应用程序,因此需要在EDT线程中运行,这就是NetBeans在main()
方法中为我们编写的内容。 - 单击返回到“ 设计”按钮以查看空白表格。
我们可以将OpenMap JavaBeans添加到面板中。 要做到这一点:
- 右键单击调色板,然后选择“ 调色板管理器” 。
- 单击“ 新建类别”,然后输入OpenMap作为类别名称。 单击单击从JAR添加按钮,导航到
openmap.jar
,选择显示所有JavaBeans单选按钮并选择所有可用组件。 单击下一步。 - 选择OpenMap调色板类别,然后单击Finish 。 新的调色板类别已添加到“调色板”中。