java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.scopemvc.view.swing.SwingView
- All Implemented Interfaces:
- javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, org.scopemvc.core.View
- Direct Known Subclasses:
- SPanel, SUnboundPanel
- public abstract class SwingView
- extends javax.swing.JPanel
- implements org.scopemvc.core.View
An abstract base JPanel implementation of View for use
in Swing-based user interfaces.
org.scopemvc.controller.swing.SwingContext
assumes the use of SwingView subclasses, for which the following
methods should be overridden:
Binding to the model object should be implemented in
subclasses appropriately -- see SPanel for an
example. This split in functionality is to support splitting
Scope into a Controller/View subsystem and an independent
model subsystem.
SwingView subclasses must issue a
CHANGE_MODEL_CONTROL_ID Control
when the shown model object changes.
This supports BasicController which
needs to know when its current model changes.
- Version:
- $Revision: 1.3 $ $Date: 2002/01/26 09:46:21 $
| Nested classes inherited from class javax.swing.JPanel |
javax.swing.JPanel.AccessibleJPanel |
| Nested classes inherited from class javax.swing.JComponent |
javax.swing.JComponent.AccessibleJComponent |
| 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 |
| Fields inherited from class java.awt.Container |
|
|
Constructor Summary |
SwingView()
Automatically install a SwingContext if SwingView is created anywhere
and no ViewContext has been set previously. |
| Methods inherited from class javax.swing.JComponent |
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
| Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle |
LOG
private static final org.apache.commons.logging.Log LOG
PRIMARY_WINDOW
public static final int PRIMARY_WINDOW
- See Also:
- Constant Field Values
MODAL_DIALOG
public static final int MODAL_DIALOG
- See Also:
- Constant Field Values
MODELESS_DIALOG
public static final int MODELESS_DIALOG
- See Also:
- Constant Field Values
CENTRED
public static final java.awt.Rectangle CENTRED
viewBounds
private java.awt.Rectangle viewBounds
- The bounds that the view will be shown at. If null use default
position. The bounds are saved on hideView so the view
come back at the same position when shown again.
controller
private org.scopemvc.core.Controller controller
SwingView
public SwingView()
- Automatically install a SwingContext if SwingView is created anywhere
and no ViewContext has been set previously.
getTitle
public java.lang.String getTitle()
- Provides the title for windows that show this view.
getDisplayMode
public int getDisplayMode()
- Determines the type of window used to show this view.
getCloseControl
public org.scopemvc.core.Control getCloseControl()
- The Control issued when the window containing
this View is closed.
isResizable
public boolean isResizable()
- Should a window showing this view be resizable?
getMenuBar
public javax.swing.JMenuBar getMenuBar()
- The menubar to attach to a window showing this view,
or null if none.
toString
public java.lang.String toString()
- Description copied from class:
java.awt.Component
- Returns a string representation of this component. This is implemented
as
getClass().getName() + '[' + paramString() + ']'.
getViewBounds
public final java.awt.Rectangle getViewBounds()
- Get bounds to show this view at. If null default positioning,
if CENTRED_BOUNDS then centre the view on the screen.
getLastShownBounds
public final java.awt.Rectangle getLastShownBounds()
- Deprecated. see
getViewBounds() 55
setViewBounds
public void setViewBounds(java.awt.Rectangle inViewBounds)
- Called when hiding a view to store last bounds
of this view when visible. Override to return null
if the view should always
be packed and placed in default location. Call this
during View ctor to set up initial bounds.
setLastShownBounds
public void setLastShownBounds(java.awt.Rectangle inLastShownBounds)
- Deprecated. see
setViewBounds(java.awt.Rectangle) 55
setController
public final void setController(org.scopemvc.core.Controller inController)
- The parent Controller must register itself with the
SwingView via this method in order to receive
Control from it. Only one Controller
can parent a SwingView, which should be fine if
a Chain of Command is used between Controllers.
- Specified by:
setController in interface org.scopemvc.core.View
getController
public org.scopemvc.core.Controller getController()
- Specified by:
getController in interface org.scopemvc.core.View
issueControl
public void issueControl(org.scopemvc.core.Control inControl)
- Issue a Control to the parent Controller, or if no
direct parent, search upwards in the View hierarchy for the
next up.
- Specified by:
issueControl in interface org.scopemvc.core.View