Building Desktop Applications With Java
Building Desktop Applications With Java
Eric Bader
Vishal Agarwal
Introductions…
• Overview
• Key Features
• Coarse grain Developer components
• Working with Swing
• Custom Commands and Tools
• What’s new in 9.2
Overview of ArcGIS Engine Java
ArcObjects
• 2D and 3D visualization
• Read all supported ESRI data formats
including the geodatabases.
• Map authoring (create and edit MXD)
• ArcGIS level cartography
• Geo-coding, query, analysis.
• Simple editing (shp and pGDB)
• With Extensions:
– Multi user editing, Spatial, 3D and Network analysis
Java Beans – Drag and Drop development
• MapBean
• PageLayoutBean
• ToolbarBean
• TOCBean
• ReaderBean
• SceneBean
• GlobeBean
Tools and Commands
• Post Install
• Initialization
– EngineInitializer - initializeVisualBeans
• Licensing
– AoInitialize – initialize() AND checkoutExtension ()
• Shutting Down
– AoInitialize
Why use Proxy Classes?
IEnvelope e = geom.getEnvelope();
ITopologicalOperator topo = new
ITopologicalOperatorProxy(e);
topo.buffer(4.0);
Bridge and GEN Interfaces
• GEN Interfaces:
– These are created to substitute the un-compatible
interfaces
– Ex. IEnvelopeGEN replaces IEnvelope.
• BRIDGE Interfaces:
– For the more basic GIS service, to reduce the
overhead.
– Ex. IGeometryBridge
ArcObjects and Swing
toc.hitTest(e.getX(), e.getY(),
itemType, basicmap, layer, pIndex,
other);
Custom Commands and Tools
• Runtime Overview
• Initialization and licensing
• Coarse grained components
• Working with Swing
• Events and Animation
• Custom Commands and Tools
ArcGIS 9.2 Features
What’s new in 9.2
• Ready-to-use Out-of-the-Box
• Improve Stability
• API Improvements
• New Packages and Extensions
• File GDB
• New Visual Components
• New Help System and samples
• IDE Integration
• Support for JDK 1.5
• ArcGIS Desktop is ‘Java Enabled’
API Improvements
• Refined API
• Tool Generator
– Support for models written in ArcGIS Desktop
• Supporting Documents
• Samples
• Developer Scenario
– How to consume custom Routing model
– How to Track events and time windows
IDE Integration
More Questions?