150 likes | 308 Views
Plug and Play Scientific Graphics with SGT. Donald Denbo NOAA/PMEL-UW/JISAO Presented by Christopher Moore NOAA/PMEL-UW/JISAO. http://www.epic.noaa.gov/java/sgt. Introduction. The Scientific Graphics Toolkit (SGT) is a collection of Java classes to produce scientific 2D graphics.
E N D
Plug and Play Scientific Graphics with SGT Donald DenboNOAA/PMEL-UW/JISAO Presented byChristopher MooreNOAA/PMEL-UW/JISAO http://www.epic.noaa.gov/java/sgt
Introduction • The Scientific Graphics Toolkit (SGT) is a collection of Java classes to produce scientific 2D graphics. • SGT is a flexible system, allowing developers to produce custom graphics. • SGT, while popular, does require an expert programmer to use it effectively. NOAAResearch WebShop 2003, Longmont, CO
Goals for Plug n’ Play Graphics • Create easy-to-use JavaBeans from the SGT classes. • JavaBeans enables beginner and intermediate developers a quick entry into SGT graphics. • SGT Beans handles most events and provides tools to easily customize the appearance of the plot. NOAAResearch WebShop 2003, Longmont, CO
Why JavaBeans? • Provide component technology for Java. Components enhance re-usability in the Java environment. • Can easily be used in IDE and RAD environments. • Bean Customizers can be developed to work within IDE and RAD tools. • Beans provide a standard mechanism to interact with development tools and simplify access to complicated Java class libraries. • Beans have an object persistence mechanism. (XML serialization) NOAAResearch WebShop 2003, Longmont, CO
Java Development Tools • BeanBuilderAvailable free from Sun Microsystems for JVM 1.4 or later • Java Integrated Development Environments (JBuilder, Eclipse, NetBeans) NOAAResearch WebShop 2003, Longmont, CO
BeanBuilder Event Connection Component Layout NOAAResearch WebShop 2003, Longmont, CO
SGT JavaBeans NOAAResearch WebShop 2003, Longmont, CO
Design Page NOAAResearch WebShop 2003, Longmont, CO
Page JavaBean • Visual JavaBean. Page can be added to any swing container. • Page can have any number of Panels placed inside it. Each Panel provides an independent graphical display of data from the DataModel. • The location and size of the Panels are specified in the PanelModel. NOAAResearch WebShop 2003, Longmont, CO
PanelModel JavaBean • Non-visual JavaBean. • PanelModel maintains: • location and size of Panels on Page • DataGroups and their positions on a Panel • Legend position on a Panel • Titles and annotation positions on a Panel NOAAResearch WebShop 2003, Longmont, CO
DataModel JavaBean • Non-visual JavaBean. • DataModel uses information from the PanelModel to specify the connection between data and Panel/DataGroup. • Contains the SGTData and Attribute objects. NOAAResearch WebShop 2003, Longmont, CO
Real World Example ncReader • User opens ncReader and selects a netCDF file. • ncReader accesses the PanelModel to generate a list of Panel/DataGroups. • User selects which Panel/DataGroup the data subset should be attached. • ncReader adds the data with the Panel/DataGroup information to the DataModel. data DataModel Page PanelModel NOAAResearch WebShop 2003, Longmont, CO
Future Directions • Design is completed and implementation will be finished by September 2003. • Beta version of SGT Beans will be made available once an initial implementation of the Page, PanelModel, DataModel, and Customizer are complete (~1 month). • User feedback will help guide additional development. http://www.epic.noaa.gov/java/sgt NOAAResearch WebShop 2003, Longmont, CO