Description | API | Development Configuration | Deployment Configuration | FAQ
This application type is used to utilize STK's analysis engine and embed its visualization controls (3D Globe, 2D Map, Gfx Analysis) into your existing or new AWT/Swing-based GUI application. Note that the visualization and analysis computations in the STK Engine occur within your Java application process and run on the AWT Event Dispatch Thread.
Abstract Window Toolkit (AWT) / Swing extension
JAR libraries:
JNI native libraries:
Packages:
Documentation
To use these samples:
Use the above listed JAR and JNI native libraries as input to the following development environment configurations:
Use the samples listed above as reference for implementing an AWT/Swing Custom Application.
Deployment instructions for a STK Custom Application.
Platform | Path |
---|---|
Windows 32bit | C:\Program Files\AGI\STK 11\bin |
Windows 64bit | C:\Program Files\AGI\STK 11\bin |
Windows 32bit on 64bit | C:\Program Files (x86)\AGI\STK 11\bin |
Linux 32/64 | <STK_INSTALL_DIR>/bin |
A set of frequently asked questions/issues and their answers/solutions.
Typically, console applications do not utilize GUI functionality as are provided by frameworks such as AWT and SWT. However, at this time the STK Java API does not provide an initialization/uninitialization strategy for non-GUI applications. As such, one must initialize/uninitialize their console applications that use the STK Java API with one of the window framework initialization/uninitialization strategies, ergo AWT or SWT. This is a known issue that will be resolved in a future release. The AWT window framework initialization/uninitialization strategy is recommended in this case, an example of which follows:
Note: This initialization/uninitialization strategy may require further configuration of the Java Runtime's CLASSPATH setting to add dependencies on either the AWT or SWT window framework JAR libraries depending on the runtime configuration of running context of the GUI-less application.
agi.core.awt.AgAwt_JNI.initialize_AwtDelegate();
agi.stkengine.AgStkCustomApplication_JNI.initialize(true);
agi.core.awt.AgAwt_JNI.initialize_AwtComponents();
Note: This is the reverse order of the preceding initialize.
agi.core.awt.AgAwt_JNI.uninitialize_AwtComponents();
agi.stkengine.AgStkCustomApplication_JNI.uninitialize();
agi.core.awt.AgAwt_JNI.uninitialize_AwtDelegate();
agi.core.awt.AgAwt_JNI.initialize_AwtDelegate();
agi.stkengine.AgStkCustomApplication_JNI.initialize(true);
agi.core.awt.AgAwt_JNI.initialize_AwtComponents();
Note: This is the reverse order of the preceding initialize.
agi.core.awt.AgAwt_JNI.uninitialize_AwtComponents();
agi.stkengine.AgStkCustomApplication_JNI.uninitialize();
agi.core.awt.AgAwt_JNI.uninitialize_AwtDelegate();
agi.stkobjects.jar
AgJNIStkObjects.dll/libagjnistkobjects.so
agi.stkobjects.astrogator.jar
AgJNIStkGator.dll/libagjnistkgator.so
agi.stkvgt.jar
AgJNIStkVGT.dll/libagjnistkvgt.so
agi.stkgraphics.jar
AgJNIStkGraphics.dll/libagjnistkgraphics.so
agi.core.awt.AgAwt_JNI.initialize_AwtDelegate();
agi.core.AgCore_JNI.initialize();
agi.stkutil.AgStkutil_JNI.initialize();
agi.stkx.AgStkx_JNI.initialize();
//agi.stkobjects.AgStkobjects_JNI.initialize();
//agi.stkobjects.astrogator.AgStkgator_JNI.initialize();
//agi.stkvgt.AgCrdn_JNI.initialize();
//agi.stkgraphics.AgStkGraphics_JNI.initialize();
agi.core.awt.AgAwt_JNI.initialize_AwtComponents();
Note: this is the reverse order of the preceding initialize.
agi.core.awt.AgAwt_JNI.uninitialize_AwtComponents();
//agi.stkgraphics.AgStkGraphics_JNI.uninitialize();
//agi.stkvgt.AgCrdn_JNI.uninitialize();
//agi.stkobjects.astrogator.AgStkgator_JNI.uninitialize();
//agi.stkobjects.AgStkobjects_JNI.uninitialize();
agi.stkx.AgStkx_JNI.uninitialize();
agi.stkutil.AgStkutil_JNI.uninitialize();
agi.core.AgCore_JNI.uninitialize();
agi.core.awt.AgAwt_JNI.uninitialize_AwtDelegate();
STK Programming Interface 11.0.1