## com.bbn.openmap.gui
Class OpenMapFrame

    java.lang.Object
      java.awt.Component
          java.awt.Container
              java.awt.Window
                  java.awt.Frame
                      javax.swing.JFrame
                          com.bbn.openmap.gui.OpenMapFrame

All Implemented Interfaces:
  javax.accessibility.Accessible, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, PropertyConsumer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class OpenMapFrame
extends javax.swing.JFrame
implements java.beans.beancontext.BeanContextMembershipListener, java.beans.beancontext.BeanContextChild, PropertyConsumer

The OpenMapFrame is the application window frame that holds the MapPanel, and eventually the MapBean. It listens to the MapHandler for the addition of Beans to the MapHandler BeanContext, and then positions the widgets it can deal with within itself. The frame does not present itself until an MapPanel is found.

The OpenMapFrame is intended to be used in an application environment. The applet checks and code to handle the applet environment was moved to the OpenMapApplet class.

See Also:
  Serialized Form

Nested Class Summary

Nested classes inherited from class javax.swing.JFrame
`javax.swing.JFrame.AccessibleJFrame`

Nested classes inherited from class java.awt.Frame
`java.awt.Frame.AccessibleAWTFrame`

Nested classes inherited from class java.awt.Window
`java.awt.Window.AccessibleAWTWindow`

Nested classes inherited from class java.awt.Container
`java.awt.Container.AccessibleAWTContainer`

Nested classes inherited from class java.awt.Component
`java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

Field Summary
`protected boolean` `useAsInternalFrameRootPaneIfNecessary` useAsInternalFrameRootPaneIfNecessary will tell the OpenMapFrame to set its root pane as the Environment's desktop if the Environment has been told to use internal frames, and if a root pane hasn't been set.
`static java.lang.String` `xProperty` Starting X coordinate of window
`static java.lang.String` `yProperty` Starting Y coordinate of window

Fields inherited from class javax.swing.JFrame
`accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled`

Fields inherited from class java.awt.Frame
`CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR`

Fields inherited from class java.awt.Component
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields inherited from interface com.bbn.openmap.PropertyConsumer
`EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty`

Fields inherited from interface javax.swing.WindowConstants
`DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE`

Fields inherited from interface java.awt.image.ImageObserver
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

Constructor Summary
`OpenMapFrame()` Create the frame with "OpenMap <version>" in the title.
`OpenMapFrame(boolean useAsInternalFrameRootPaneIfNecessary)`
`OpenMapFrame(java.lang.String title)` Create a OpenMap frame with a title.
`OpenMapFrame(java.lang.String title, boolean useAsInternalFrameRootPaneIfNecessary)` Create a OpenMap frame with a title, with a WindowListner that says what to do when the OpenMapFrame is closed.

Method Summary
`void` `addVetoableChangeListener(java.lang.String propertyName, java.beans.VetoableChangeListener in_vcl)` Method for BeanContextChild interface.
`void` `childrenAdded(java.beans.beancontext.BeanContextMembershipEvent bcme)` BeanContextMembership interface method.
`void` `childrenRemoved(java.beans.beancontext.BeanContextMembershipEvent bcme)` BeanContextMembership interface method.
`void` `findAndInit(java.util.Iterator it)` Called when the OpenMapFrame is added to a BeanContext, and when other objects are added to the BeanContext.
`void` `findAndInit(java.lang.Object someObj)` Called when an object is added to the MapHandler.
`void` `findAndUndo(java.lang.Object someObj)` Called when an object is removed from the MapHandler.
`java.beans.beancontext.BeanContext` `getBeanContext()` Method for BeanContextChild interface.
`java.util.Properties` `getProperties(java.util.Properties getList)` Method to fill in a Properties object, reflecting the current values of the PropertyConsumer.
`java.util.Properties` `getPropertyInfo(java.util.Properties list)` Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer.
`java.lang.String` `getPropertyPrefix()` Get the property key prefix that is being used to prepend to the property keys for Properties lookups.
`boolean` `getUseAsInternalFrameRootPaneIfNecessary()`
`void` `removeVetoableChangeListener(java.lang.String propertyName, java.beans.VetoableChangeListener in_vcl)` Method for BeanContextChild interface.
`void` `setBeanContext(java.beans.beancontext.BeanContext in_bc)` Method for BeanContextChild interface.
`protected void` `setPosition()` For applications, checks where the Environment says the window should be placed, and then uses the packed height and width to make adjustments.
`void` `setProperties(java.util.Properties setList)` Method to set the properties in the PropertyConsumer.
`void` `setProperties(java.lang.String prefix, java.util.Properties setList)` Method to set the properties in the PropertyConsumer.
`void` `setPropertyPrefix(java.lang.String prefix)` Doesn't do anything.
`void` `setUseAsInternalFrameRootPaneIfNecessary(boolean val)`

Methods inherited from class javax.swing.JFrame

`addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update`

Methods inherited from class java.awt.Frame
`addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated`

Methods inherited from class java.awt.Window

`addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, toBack, toFront`

Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree`

Methods inherited from class java.awt.Component

`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle`

Methods inherited from class java.lang.Object
`clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.beans.beancontext.BeanContextChild
`addPropertyChangeListener, removePropertyChangeListener`

Methods inherited from interface java.awt.MenuContainer
`getFont, postEvent`

Field Detail

### xProperty

    public static final java.lang.String xProperty

  Starting X coordinate of window

  See Also:
    Constant Field Values

### yProperty

    public static final java.lang.String yProperty

  Starting Y coordinate of window

  See Also:
    Constant Field Values

### useAsInternalFrameRootPaneIfNecessary

    protected boolean useAsInternalFrameRootPaneIfNecessary

  useAsInternalFrameRootPaneIfNecessary will tell the OpenMapFrame to set its root pane as the Environment's desktop if the Environment has been told to use internal frames, and if a root pane hasn't been set. True by default.

Constructor Detail

### OpenMapFrame

    public OpenMapFrame()

  Create the frame with "OpenMap <version>" in the title.

### OpenMapFrame

    public OpenMapFrame(boolean useAsInternalFrameRootPaneIfNecessary)

Parameters:
  `useAsInternalFrameRootPaneIfNecessary` - will tell the OpenMapFrame to set its root pane as the Environment's desktop if the Environment has been told to use internal frames, and if a root pane hasn't been set.

### OpenMapFrame

    public OpenMapFrame(java.lang.String title)

  Create a OpenMap frame with a title.

Parameters:
  `title` - The Frame title.

### OpenMapFrame

    public OpenMapFrame(java.lang.String title,
                        boolean useAsInternalFrameRootPaneIfNecessary)

  Create a OpenMap frame with a title, with a WindowListner that says what to do when the OpenMapFrame is closed.

Parameters:
  `title` - The Frame title.
  `useAsInternalFrameRootPaneIfNecessary` - will tell the OpenMapFrame to set its root pane as the Environment's desktop if the Environment has been told to use internal frames, and if a root pane hasn't been set.

Method Detail

### setPosition

    protected void setPosition()

  For applications, checks where the Environment says the window should be placed, and then uses the packed height and width to make adjustments.

### findAndInit

    public void findAndInit(java.util.Iterator it)

  Called when the OpenMapFrame is added to a BeanContext, and when other objects are added to the BeanContext. The OpenMapFrame looks for objects that it knows how to place upon itself (MapPanel, JMenuBar). The OpenMapFrame does not check to see if the objects looked for are already added to itself. It assumes that if some object type is getting added to it, the caller must know what they are doing - just like a regular JFrame.

  Parameters:
    `it` - Iterator to use to go through the BeanContext objects.

### findAndInit

    public void findAndInit(java.lang.Object someObj)

  Called when an object is added to the MapHandler.

### childrenAdded

    public void childrenAdded(java.beans.beancontext.BeanContextMembershipEvent bcme)

  BeanContextMembership interface method. Called when objects are added to the BeanContext.

  Specified by:
    `childrenAdded` in interface `java.beans.beancontext.BeanContextMembershipListener`
  Parameters:
    `bcme` - contains an Iterator that lets you go through the new objects.

### childrenRemoved

    public void childrenRemoved(java.beans.beancontext.BeanContextMembershipEvent bcme)

  BeanContextMembership interface method. Called by BeanContext when children are being removed. Unhooks itself from the objects that are being removed if they are contained within the Frame.

  Specified by:
    `childrenRemoved` in interface `java.beans.beancontext.BeanContextMembershipListener`
  Parameters:
    `bcme` - event that contains an Iterator to use to go through the removed objects.

### findAndUndo

    public void findAndUndo(java.lang.Object someObj)

  Called when an object is removed from the MapHandler.

### getBeanContext

    public java.beans.beancontext.BeanContext getBeanContext()

  Method for BeanContextChild interface.

  Specified by:
    `getBeanContext` in interface `java.beans.beancontext.BeanContextChild`

### setBeanContext

    public void setBeanContext(java.beans.beancontext.BeanContext in_bc)
                        throws java.beans.PropertyVetoException

  Method for BeanContextChild interface.

  Specified by:
    `setBeanContext` in interface `java.beans.beancontext.BeanContextChild`
  Parameters:
    `in_bc` - The context to which this object is being added
  Throws:
    `java.beans.PropertyVetoException`

### addVetoableChangeListener

    public void addVetoableChangeListener(java.lang.String propertyName,
                                          java.beans.VetoableChangeListener in_vcl)

  Method for BeanContextChild interface.

  Specified by:
    `addVetoableChangeListener` in interface `java.beans.beancontext.BeanContextChild`

### removeVetoableChangeListener

    public void removeVetoableChangeListener(java.lang.String propertyName,
                                             java.beans.VetoableChangeListener in_vcl)

  Method for BeanContextChild interface.

  Specified by:
    `removeVetoableChangeListener` in interface `java.beans.beancontext.BeanContextChild`

### setProperties

    public void setProperties(java.util.Properties setList)

  Method to set the properties in the PropertyConsumer. It is assumed that the properties do not have a prefix associated with them, or that the prefix has already been set.

  Specified by:
    `setProperties` in interface `PropertyConsumer`
  Parameters:
    `setList` - a properties object that the PropertyConsumer can use to retrieve expected properties it can use for configuration.

### setProperties

    public void setProperties(java.lang.String prefix,
                              java.util.Properties setList)

  Method to set the properties in the PropertyConsumer. The prefix is a string that should be prepended to each property key (in addition to a separating '.') in order for the PropertyConsumer to uniquely identify properies meant for it, in the midst of of Properties meant for several objects.

  Specified by:
    `setProperties` in interface `PropertyConsumer`
  Parameters:
    `prefix` - a String used by the PropertyConsumer to prepend to each property value it wants to look up - setList.getProperty(prefix.propertyKey). If the prefix had already been set, then the prefix passed in should replace that previous value.
    `setList` - a Properties object that the PropertyConsumer can use to retrieve expected properties it can use for configuration.

### getProperties

    public java.util.Properties getProperties(java.util.Properties getList)

  Method to fill in a Properties object, reflecting the current values of the PropertyConsumer. If the PropertyConsumer has a prefix set, the property keys should have that prefix plus a separating '.' prepended to each propery key it uses for configuration.

  Specified by:
    `getProperties` in interface `PropertyConsumer`
  Parameters:
    `getList` - a Properties object to load the PropertyConsumer properties into. If getList equals null, then a new Properties object should be created.
  Returns:
    Properties object containing PropertyConsumer property values. If getList was not null, this should equal getList. Otherwise, it should be the Properties object created by the PropertyConsumer.

### getPropertyInfo

    public java.util.Properties getPropertyInfo(java.util.Properties list)

  Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer. The key for each property should be the raw property name (without a prefix) with a value that is a String that describes what the property key represents, along with any other information about the property that would be helpful (range, default value, etc.).

  Specified by:
    `getPropertyInfo` in interface `PropertyConsumer`
  Parameters:
    `list` - a Properties object to load the PropertyConsumer properties into. If getList equals null, then a new Properties object should be created.
  Returns:
    Properties object containing PropertyConsumer property values. If getList was not null, this should equal getList. Otherwise, it should be the Properties object created by the PropertyConsumer.

### setPropertyPrefix

    public void setPropertyPrefix(java.lang.String prefix)

  Doesn't do anything. The OpenMapFrame looks for properties set with the "openmap" property prefix. This method is part of the PropertyConsumer interface.

  Specified by:
    `setPropertyPrefix` in interface `PropertyConsumer`
  Parameters:
    `prefix` - the prefix String.

### getPropertyPrefix

    public java.lang.String getPropertyPrefix()

  Get the property key prefix that is being used to prepend to the property keys for Properties lookups. Returns "openmap".

  Specified by:
    `getPropertyPrefix` in interface `PropertyConsumer`
  Returns:
    the property prefix for the frame

### setUseAsInternalFrameRootPaneIfNecessary

    public void setUseAsInternalFrameRootPaneIfNecessary(boolean val)

### getUseAsInternalFrameRootPaneIfNecessary

    public boolean getUseAsInternalFrameRootPaneIfNecessary()

Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details