1. Intriduction to Java Programming for Beginners, Novices

Download Report

Transcript 1. Intriduction to Java Programming for Beginners, Novices

Arc: AddIns
Dr Andy Evans
Java
Direct access to ArcObjects Framework inside and outside Arc.
Ability to add components to the GUI.
Ability to communicate with external applications.
AddIns
Button : Icon on toolbar.
Tool : Changes mouse operations.
Combo box : Dropdown list and editable box.
Toolbar : For grouping AddIns.
Menu : Dropdown and right-click.
Tool palette : Floating container for other AddIns.
Dockable window : Floating window that can be locked into
the GUI.
Application extension : Additional functionality within, e.g. Arc
extensions.
Form
jar zip file, with a .esriaddin extension
Contains:
config.xml : metadata describing the addin
Java class files
Other resources needed : e.g. data, images
Installing
File is just dropped into
%USERPROFILE%\
My Documents\ArcGIS\AddIns\Desktop10.2
or
%USERPROFILE%\
Documents\ArcGIS\AddIns\Desktop10.2
There are easy install options for users (double clicking on the
addin will bring up a wizard to walk through installing it)
Installing a sent AddIn
AddIn Manger
Installing a sent AddIn
Choose “Add from file” and
navigate to the file.
Should then see it under the
commands list in whatever
Category you’ve created for it
in the XML file.
Drag and drop from here,
onto the interface.
Managing AddIns
Admin Registry Keys (regedit.exe)
HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\Desktop10.2 \ Settings
BlockAddIns
0 - Load all.
1 - Load signed only.
2 - Load ESRI only.
3 - Load from administrator folders only.
4 - Do not Load any Add-Ins.
AddInFolders
AdminAddInLock - stop tampering with these.
Digital signing
See:
http://help.arcgis.com/en/sdk/10.0/Java_AO_ADF/concept
ualhelp/engine/index.html#/Digitally_signed_add_ins/0001
000004zq000000/
Making an AddIn
Rather than writing the config.xml ourselves, and zipping it
up manually with the java files, there’s an Eclipse IDE
plugin.
This does all the basic class generation for us, and prepares
the file.
Details for installing the IDE and plugin on the website.
Eclipse
Eclipse
Project area
Editor area,
currently showing
config.xml, but
shown as a form,
not text.
Show
xml text
source
Config.xml
Eclipse
Should check code as you write.
Will compile when you save the file.
Errors reported in problems panel:
Note that the javadoc panel displays the javadocs of known
classes.
Eclipse
Will autocomplete as you type. Will also suggest
potential quick fixes if you click on hover over an
issue.
Debugging
No System.out.println();
Best bet is:
JOptionPane.showMessageDialog(null, String);
E.g.
JOptionPane.showMessageDialog(null, "Hello World");
Or for exception checking…
catch (Exception e){
JOptionPane.showMessageDialog(null,
e.getStackTrace());
}
Help coding
Course Code Cookbook
There’s no point in you struggling to find key bits of
code on ESRI’s site.
So, there are many useful code examples, stripped
down to be a simple as possible, on the course website.
The quid pro quo:
Send us useful code you get working.
Read and try and understand the code, don’t just cutand-paste it. Ask questions!
Help coding
Intro to Eclipse:
Help -> Welcome -> Overview / Tutorials
Arc Programming pages:
http://resources.arcgis.com/en/help/arcobjectsjava/concepts/engine/
Java ArcObjects Developer Guide ->
Developing extensions ->
ArcGIS Desktop customizations using add-ins
Help coding
API:
http://resources.arcgis.com/en/help/arcobjectsjava/api/arcobjects/index.html
Note that the API docs are a re-write of the VB pages, and still
contain some VB code:
If it says “This parameter is optional”, it usually isn’t.
If it says “If you don’t want this parameter, just pass in zero”
or “Nothing”, then pass in null.
If it gives Variant as a return type, it returns
java.lang.Object.
Select the AddIn
If you are developing, you need to reboot Arc to get
changes to appear, but you don’t need to re-add the
addIn.
Extensions
Classes that extend Arc functionality
Custom feature renderers
Custom geoprocessing tools : can be added to
ArcToolbox and ModelBuilder
Class extensions : Change form of data
Plug-in data sources
Utility objects : Combine other tools
Installing
Jar file placed in
<ArcGIS Install Dir>/java/lib/ext