org.base.apps.beans.view.swing
Class BoundPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.base.apps.util.view.swing.BasePanel
                      extended by org.base.apps.beans.view.swing.BoundPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Customizer, PropertyChangeListener, Serializable, EventListener, Accessible, PropertyChangeEmitter
Direct Known Subclasses:
AppPanel

public class BoundPanel
extends BasePanel
implements PropertyChangeEmitter, PropertyChangeListener

Base panel for binding to arbitrary POJO beans.

All subclasses should explictly invoke BasePanel.initLog() to enable the logging functionality and, more importantly, use a Log initialized with the subclass, not BoundPanel.

Author:
Kevan Simpson
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BoundPanel()
           
BoundPanel(boolean isDoubleBuffered)
           
BoundPanel(LayoutManager layout)
           
BoundPanel(LayoutManager layout, boolean isDoubleBuffered)
           
 
Method Summary
 void addPropertyChangeListener(PropertyChangeListener lsnr)
          Add a PropertyChangeListener to this bean.
 void addPropertyChangeListener(String property, PropertyChangeListener lsnr)
          Add a PropertyChangeListener for a specific property.
 void fireIndexedPropertyChange(String propertyName, int index, boolean oldValue, boolean newValue)
           
 void fireIndexedPropertyChange(String propertyName, int index, int oldValue, int newValue)
           
 void fireIndexedPropertyChange(String propertyName, int index, Object oldValue, Object newValue)
           
 void firePropertyChange(PropertyChangeEvent evt)
           
 void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
           
 void firePropertyChange(String propertyName, int oldValue, int newValue)
           
 void firePropertyChange(String propertyName, Object oldValue, Object newValue)
           
 PropertyChangeListener[] getPropertyChangeListeners()
           
 PropertyChangeListener[] getPropertyChangeListeners(String property)
           
protected  PropertyChangeEmitter getSupport()
          Fetches the PropertyChangeEmitter for this bean.
protected  void init()
          Initializes this panel.
 void propertyChange(PropertyChangeEvent evt)
           
 void removePropertyChangeListener(PropertyChangeListener lsnr)
          Remove a PropertyChangeListener from this bean.
 void removePropertyChangeListener(String property, PropertyChangeListener lsnr)
          Remove a PropertyChangeListener for a specific property.
 void setObject(Object bean)
           
protected  void setSupport(PropertyChangeEmitter support)
           
 
Methods inherited from class org.base.apps.util.view.swing.BasePanel
initLog, log
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BoundPanel

public BoundPanel()

BoundPanel

public BoundPanel(LayoutManager layout)
Parameters:
layout -

BoundPanel

public BoundPanel(boolean isDoubleBuffered)
Parameters:
isDoubleBuffered -

BoundPanel

public BoundPanel(LayoutManager layout,
                  boolean isDoubleBuffered)
Parameters:
layout -
isDoubleBuffered -
Method Detail

setObject

public void setObject(Object bean)
Specified by:
setObject in interface Customizer
See Also:
Customizer.setObject(java.lang.Object)

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener lsnr)
Description copied from interface: PropertyChangeEmitter
Add a PropertyChangeListener to this bean.

Specified by:
addPropertyChangeListener in interface Customizer
Specified by:
addPropertyChangeListener in interface PropertyChangeEmitter
Overrides:
addPropertyChangeListener in class Container
Parameters:
lsnr - The listener to add.
See Also:
PropertyChangeEmitter.addPropertyChangeListener(java.beans.PropertyChangeListener)

addPropertyChangeListener

public void addPropertyChangeListener(String property,
                                      PropertyChangeListener lsnr)
Description copied from interface: PropertyChangeEmitter
Add a PropertyChangeListener for a specific property.

Specified by:
addPropertyChangeListener in interface PropertyChangeEmitter
Overrides:
addPropertyChangeListener in class Container
Parameters:
property - The property name.
lsnr - The listener to add.
See Also:
PropertyChangeEmitter.addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)

fireIndexedPropertyChange

public void fireIndexedPropertyChange(String propertyName,
                                      int index,
                                      boolean oldValue,
                                      boolean newValue)
Specified by:
fireIndexedPropertyChange in interface PropertyChangeEmitter
See Also:
PropertyChangeEmitter.fireIndexedPropertyChange(java.lang.String, int, boolean, boolean)

fireIndexedPropertyChange

public void fireIndexedPropertyChange(String propertyName,
                                      int index,
                                      int oldValue,
                                      int newValue)
Specified by:
fireIndexedPropertyChange in interface PropertyChangeEmitter
See Also:
PropertyChangeEmitter.fireIndexedPropertyChange(java.lang.String, int, int, int)

fireIndexedPropertyChange

public void fireIndexedPropertyChange(String propertyName,
                                      int index,
                                      Object oldValue,
                                      Object newValue)
Specified by:
fireIndexedPropertyChange in interface PropertyChangeEmitter
See Also:
PropertyChangeEmitter.fireIndexedPropertyChange(java.lang.String, int, java.lang.Object, java.lang.Object)

firePropertyChange

public void firePropertyChange(PropertyChangeEvent evt)
Specified by:
firePropertyChange in interface PropertyChangeEmitter
See Also:
PropertyChangeEmitter.firePropertyChange(java.beans.PropertyChangeEvent)

firePropertyChange

public void firePropertyChange(String propertyName,
                               boolean oldValue,
                               boolean newValue)
Specified by:
firePropertyChange in interface PropertyChangeEmitter
Overrides:
firePropertyChange in class JComponent
See Also:
PropertyChangeEmitter.firePropertyChange(java.lang.String, boolean, boolean)

firePropertyChange

public void firePropertyChange(String propertyName,
                               int oldValue,
                               int newValue)
Specified by:
firePropertyChange in interface PropertyChangeEmitter
Overrides:
firePropertyChange in class JComponent
See Also:
PropertyChangeEmitter.firePropertyChange(java.lang.String, int, int)

firePropertyChange

public void firePropertyChange(String propertyName,
                               Object oldValue,
                               Object newValue)
Specified by:
firePropertyChange in interface PropertyChangeEmitter
Overrides:
firePropertyChange in class Component
See Also:
PropertyChangeEmitter.firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()
Specified by:
getPropertyChangeListeners in interface PropertyChangeEmitter
Overrides:
getPropertyChangeListeners in class Component
See Also:
PropertyChangeEmitter.getPropertyChangeListeners()

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners(String property)
Specified by:
getPropertyChangeListeners in interface PropertyChangeEmitter
Overrides:
getPropertyChangeListeners in class Component
See Also:
PropertyChangeEmitter.getPropertyChangeListeners(java.lang.String)

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener lsnr)
Description copied from interface: PropertyChangeEmitter
Remove a PropertyChangeListener from this bean.

Specified by:
removePropertyChangeListener in interface Customizer
Specified by:
removePropertyChangeListener in interface PropertyChangeEmitter
Overrides:
removePropertyChangeListener in class Component
Parameters:
lsnr - The listener to remove.
See Also:
PropertyChangeEmitter.removePropertyChangeListener(java.beans.PropertyChangeListener)

removePropertyChangeListener

public void removePropertyChangeListener(String property,
                                         PropertyChangeListener lsnr)
Description copied from interface: PropertyChangeEmitter
Remove a PropertyChangeListener for a specific property.

Specified by:
removePropertyChangeListener in interface PropertyChangeEmitter
Overrides:
removePropertyChangeListener in class Component
Parameters:
property - The property name.
lsnr - The listener to remove.
See Also:
PropertyChangeEmitter.removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)

propertyChange

public void propertyChange(PropertyChangeEvent evt)
Specified by:
propertyChange in interface PropertyChangeListener
See Also:
PropertyChangeListener.propertyChange(java.beans.PropertyChangeEvent)

init

protected void init()
Initializes this panel.


getSupport

protected PropertyChangeEmitter getSupport()
Fetches the PropertyChangeEmitter for this bean.

Returns:
the PropertyChangeEmitter for this bean.

setSupport

protected void setSupport(PropertyChangeEmitter support)
Parameters:
support - the support to set

Please visit Base Apps, hosted on Sourceforge.net.

Copyright 2011, Blue Agate Software Entity (BASE)