AE92 SDK for Java 窗体简例

简介:

   ArcEngine开发文档中提供了另外一个开发简例HelloGlobe,它是基于JFrame窗体的一个简单应用,从窗体设计代码中我们可以看到,ArcEngine已经以JavaBean的形式封装了一些常用的窗体控件,可以直接的应用到窗体设计的开发中,并且支持跨平台,给开发者提供了另一种选择。

    引用的包:

import java.awt.BorderLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import javax.swing.JFrame;

import com.esri.arcgis.beans.TOC.TOCBean;
import com.esri.arcgis.beans.globe.GlobeBean;
import com.esri.arcgis.beans.toolbar.ToolbarBean;
import com.esri.arcgis.controls.ControlsGlobeFullExtentCommand;
import com.esri.arcgis.controls.ControlsGlobeNavigateTool;
import com.esri.arcgis.controls.ControlsGlobeOpenDocCommand;
import com.esri.arcgis.system.AoInitialize;
import com.esri.arcgis.system.EngineInitializer;
import com.esri.arcgis.system.esriLicenseExtensionCode;
import com.esri.arcgis.system.esriLicenseProductCode;

    关于AWT和Swing的使用可以参考相关的书籍,从引用的包中,可以看到TOC、toolbar、globe显示窗都已经封装到JavaBean中,可以直接调用,为开发者省了不少事,也帮助开发人员可以像在Visual Studio下设计UI一样来设计Java的窗体。

    看看它的窗体设计代码:

//
//  Create and display the frame
//
ExpandedBlockStart.gif
private  void display()  throws IOException  {
  setSize(500, 400);
  //
  
// Create the globe, toolbar, and table of contents beans.
  
//
  GlobeBean globeBean = new GlobeBean();
  ToolbarBean toolbarBean = new ToolbarBean();
  TOCBean tocBean = new TOCBean();
  //
  
// Add beans to the content pane.
  
//
  getContentPane().add(toolbarBean, BorderLayout.NORTH);
  getContentPane().add(globeBean, BorderLayout.CENTER);
  getContentPane().add(tocBean, BorderLayout.WEST);
  //
  
// Add commands and tool to the toolbar.
  
//
  toolbarBean.addItem(new ControlsGlobeOpenDocCommand(), 0, -1, false, 0, 1);
  toolbarBean.addItem(new ControlsGlobeNavigateTool(), 0, -1, false, 0, 1);
  toolbarBean.addItem(new ControlsGlobeFullExtentCommand(), 0, -1, false, 0, 1);
  //
  
// Buddy up the globe with the toolbar and table of contents.
  
//
  toolbarBean.setBuddyControl(globeBean);
  tocBean.setBuddyControl(globeBean);
  //
  
// Shutdown ArcObjects when the window closes.
  
//
ExpandedSubBlockStart.gif
  addWindowListener(new WindowAdapter() {
ExpandedSubBlockStart.gif    public void windowClosing(WindowEvent e) {
ExpandedSubBlockStart.gif      try {
        new AoInitialize().shutdown();
        System.exit(0);
      }

ExpandedSubBlockStart.gif      catch (IOException ex) {
        System.out.println(ex.getMessage());
        System.exit(1);
      }

    }

  }
);
  setVisible(true);
}

    纯粹的Java窗体设计风格,简单易用。再看看main方法中的内容,和前面一篇《AE92 SDK for Java 最小示例学习》稍有区别。

    main方法:

ExpandedBlockStart.gif public  static  void main(String args[])  {
ExpandedSubBlockStart.gif  try {
    EngineInitializer.initializeVisualBeans();            
    AoInitialize aoInitializer = new AoInitialize();
    aoInitializer.initialize(esriLicenseProductCode.esriLicenseProductCodeEngine);
    aoInitializer.checkOutExtension(esriLicenseExtensionCode.esriLicenseExtensionCode3DAnalyst);
    HelloGlobe thisApp = new HelloGlobe();
    thisApp.setTitle("Hello, Globe!");
    thisApp.display();
  }

ExpandedSubBlockStart.gif  catch (IOException ex) {
    System.out.println(ex.getMessage());
  }

}

    由于应用程序使用了窗体,因此在原始AO组建和Java Class建立关联时,需要initializeVisualBeans方法来初始化,initializeVisualBeans和initializeEngine两者选其一,使用可视化Beans选择前者,否则选择后者。这里aoInitializer对象除了指定相应的license授权,还检查相应的应用扩展。

    AE92 SDK for Java 已经集成到Eclipse3.2中,通过ArcEngine模板建立一个HelloGlobe工程,看看运行显示的结果:

 

    基于这个模板框架,可以方便我们深入二次开发、扩展Globe的功能。


本文转自Flyingis博客园博客,原文链接:http://www.cnblogs.com/flyingis/archive/2007/03/09/669183.html,如需转载请自行联系原作者

相关文章
|
3天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之在使用MaxCompute的Java SDK创建函数时,出现找不到文件资源的情况,是BUG吗
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
16 0
|
2月前
|
Java 数据处理 调度
Dataphin常见问题之离线管道同步数据datax就报连接超时如何解决
Dataphin是阿里云提供的一站式数据处理服务,旨在帮助企业构建一体化的智能数据处理平台。Dataphin整合了数据建模、数据处理、数据开发、数据服务等多个功能,支持企业更高效地进行数据治理和分析。
|
4天前
|
分布式计算 DataWorks 监控
DataWorks操作报错合集之DataWorks在调用java sdk的createFile功能时报错com.aliyuncs.exceptions.ClientException: 1201111000 如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
9 1
|
9天前
|
Java API 开发工具
java实现chatGPT SDK
构建了一个Java ChatGPT-SDK,用于封装OpenAI接口,支持多种服务调用链路,特别是会话模型。SDK采用工厂模式,提供会话服务的创建,利用OkHttp3和Retrofit2处理HTTP请求,包括请求拦截设置apiKey。核心接口包括IOpenAiApi和OpenAiSession,后者实现会话交互,支持流式响应。测试代码展示了如何使用SDK进行聊天交互。
14 2
|
2月前
|
Java 开发工具
阿里云灵积平台Java SDK调用教程
开通阿里云灵积服务并创建API-KEY,添加Java依赖`dashscope-sdk-java`版本2.11.0。示例代码展示如何使用SDK进行多模态对话,调用`MultiModalConversation`进行交互,并打印结果。测试结果显示输出对一张图片的描述。参考链接提供通义千问VL快速入门指南。
136 0
|
5月前
|
DataWorks Java 开发工具
java如何引入dataworks的sdk呢?
java如何引入dataworks的sdk呢?
101 0
|
5月前
|
编解码 Java 开发工具
Android端接入视频生产 Java SDK
Android端接入视频生产 Java SDK
40 1
|
Java 开发工具 计算机视觉
阿里云智能视觉生产图像处理裁剪/尺寸变换Java SDK使用说明
裁剪/尺寸变换用于对输入的图片进行指定尺寸变换,自动判断主体区域位置,使用最佳的裁剪方式完成裁剪。本文介绍如何使用阿里云智能视觉生产图像处理裁剪/尺寸变换Java SDK,包括SDK的安装方法及SDK代码示例。
321 0
|
编解码 Java 开发工具
阿里云视觉智能开放平台(VIAPI)人脸人体之人脸信息脱敏Java SDK使用说明
本文介绍人脸信息脱敏BlurFace Java SDK的语法及示例。
423 0
|
Java 开发工具
阿里云智能视觉生产图像分析元素识别定位Java SDK使用说明
元素识别定位用于识别输入图中所包含的元素,用矩形框标注出其位置,并区分其对应的基本类型(人/物、修饰、文案)。本文介绍如何使用阿里云智能视觉生产图像分析元素识别定位Java SDK,包括SDK的安装方法及SDK代码示例。
272 0