Holger's
Java API

com.antelmann.util.gui
Class JMethodTableModelComponent<T>

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.antelmann.util.gui.JMethodTableModelComponent<T>
All Implemented Interfaces:
EditableComponent, ValueRetriever<T>, ImageObserver, MenuContainer, Serializable

public class JMethodTableModelComponent<T>
extends JComponent
implements EditableComponent, ValueRetriever<T>

implements a general component for editing an object based on the meta-data provided by a MethodTableModel.

Since:
16.04.2010
Author:
Holger Antelmann
See Also:
JPropertyEntryComponent, Serialized Form

Nested Class Summary
 
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
JMethodTableModelComponent(MethodTableModel<T> model)
          uses the first row of the given model as the relevant entry
JMethodTableModelComponent(MethodTableModel<T> model, T entry)
           
JMethodTableModelComponent(MethodTableModel<T> model, T entry, int padding, int maxRows)
           
JMethodTableModelComponent(MethodTableModel<T> model, T entry, int padding, int maxRows, FormHelper formHelper)
           
JMethodTableModelComponent(T entry)
          uses a model that contains all editable methods/fields of the given entry
JMethodTableModelComponent(T entry, boolean allowNullForSpinner)
          uses a model that contains all editable methods/fields of the given entry
 
Method Summary
 void applyFormToEntry()
          applies the current values of the components to the entry
protected  JComponent createComponentFor(int column)
          returns the editor component for the given property key; if the key is not to be edited, null is to be returned.
protected  JComponent createLabelFor(int column)
          allows to customize the way the labels for each key are created
 JComponent[] getFields()
          provides direct access to the fields in use
 T getRelevantValue()
          returns the relevant value for this instance at the time of calling
protected  void initListener(JComponent field)
          this method is called by createComponentFor(int) to fire a property change event upon field alterations with the key Form.EDIT_PROPERTY_KEY on this instance.
 boolean isEditable()
           
 void setEditable(boolean flag)
           
 void setEnabled(boolean flag)
           
 void setEntry(T entry)
           
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, 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, removePropertyChangeListener, removePropertyChangeListener, 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

JMethodTableModelComponent

public JMethodTableModelComponent(T entry)
uses a model that contains all editable methods/fields of the given entry


JMethodTableModelComponent

public JMethodTableModelComponent(T entry,
                                  boolean allowNullForSpinner)
uses a model that contains all editable methods/fields of the given entry


JMethodTableModelComponent

public JMethodTableModelComponent(MethodTableModel<T> model)
uses the first row of the given model as the relevant entry


JMethodTableModelComponent

public JMethodTableModelComponent(MethodTableModel<T> model,
                                  T entry)

JMethodTableModelComponent

public JMethodTableModelComponent(MethodTableModel<T> model,
                                  T entry,
                                  int padding,
                                  int maxRows)

JMethodTableModelComponent

public JMethodTableModelComponent(MethodTableModel<T> model,
                                  T entry,
                                  int padding,
                                  int maxRows,
                                  FormHelper formHelper)
Method Detail

setEntry

public void setEntry(T entry)

getRelevantValue

public T getRelevantValue()
Description copied from interface: ValueRetriever
returns the relevant value for this instance at the time of calling

Specified by:
getRelevantValue in interface ValueRetriever<T>

getFields

public JComponent[] getFields()
provides direct access to the fields in use


applyFormToEntry

public void applyFormToEntry()
                      throws IllegalArgumentException
applies the current values of the components to the entry

Throws:
IllegalArgumentException

createComponentFor

protected JComponent createComponentFor(int column)
returns the editor component for the given property key; if the key is not to be edited, null is to be returned. also, this implementation calls initListener(JComponent) on the returned component. If certain keys are to be handled more specifically (like using a JSpinner, JComboBox, etc.), this method should be overwritten accordingly.

See Also:
initListener(JComponent)

initListener

protected void initListener(JComponent field)
this method is called by createComponentFor(int) to fire a property change event upon field alterations with the key Form.EDIT_PROPERTY_KEY on this instance.


setEnabled

public void setEnabled(boolean flag)
Overrides:
setEnabled in class JComponent

isEditable

public boolean isEditable()
Specified by:
isEditable in interface EditableComponent

setEditable

public void setEditable(boolean flag)
Specified by:
setEditable in interface EditableComponent

createLabelFor

protected JComponent createLabelFor(int column)
allows to customize the way the labels for each key are created



(c) Holger Antelmann since 2001- all rights reserved (contact: info@antelmann.com)
see www.antelmann.com/developer for further details and available downloads