Holger's
Java API

com.antelmann.util.gui
Class JPropertyEditor

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

public class JPropertyEditor
extends JComponent
implements EditableComponent

a convenient graphical editor for Properties based on one-line String values. To be notified on changes, simply add a TableModelListener on the embedded StringMapTableModel. Alternatively, this component fires property changes with key "value" on changing the model.

Author:
Holger Antelmann
See Also:
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
protected  String deleteKeyConfirmString
           
protected  String keyAlreadyExistsString
           
protected  String keyString
           
protected  String newKeyString
           
protected  String valueString
           
 
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
JPropertyEditor()
          calls this(false)
JPropertyEditor(boolean selectAllOnEdit)
           
JPropertyEditor(Map<?,?> props)
           
JPropertyEditor(Map<?,?> props, boolean selectAllOnEdit)
           
JPropertyEditor(PropertyEntry entry)
          the instance is initialized with the properties of the given entry, but the changes from this implementation are not written back to the given entry.
JPropertyEditor(PropertyEntry entry, boolean selectAllOnEdit)
           
 
Method Summary
protected  void addProperty()
           
protected  void deleteProperty()
           
 JTable getJTable()
           
protected  String[] getKeyValuesFromStore()
           
 StringMapTableModel getModel()
           
 Map<String,String> getProperties()
          direct access to the properties of the underlying model
 String[] getSuggestedKeys()
           
 boolean getSuggestedKeysOnly()
           
 Map<String,String[]> getSuggestedValues()
           
 boolean isEditable()
           
 boolean isEmpty()
           
 boolean isSuggestedValuesOnly()
           
 void setClassStore(DBClassStore<?> store)
          if set to a a non-null value, the given store is queried for mapping information allowing to pre-initialize possible key/value selections
 void setEditable(boolean flag)
           
 void setProperties(Map<?,?> props)
          given props remain untouched; they are copied into the embedded model
 void setSelectAllOnEdit(boolean flag)
           
 void setSuggestedKeys(String... suggestedKeys)
           
 void setSuggestedKeysOnly(boolean flag)
           
 void setSuggestedValues(Map<String,String[]> suggestedValues)
           
 void setSuggestedValuesOnly(boolean flag)
           
 void setUseJComboBoxForValues(boolean flag)
           
 void writePropertiesInto(PropertyEntry entry)
          existing properties of the given entry are deleted and all properties from this instance are written into it.
 
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, setEnabled, 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
 

Field Detail

keyString

protected String keyString

valueString

protected String valueString

newKeyString

protected String newKeyString

keyAlreadyExistsString

protected String keyAlreadyExistsString

deleteKeyConfirmString

protected String deleteKeyConfirmString
Constructor Detail

JPropertyEditor

public JPropertyEditor()
calls this(false)


JPropertyEditor

public JPropertyEditor(boolean selectAllOnEdit)

JPropertyEditor

public JPropertyEditor(PropertyEntry entry,
                       boolean selectAllOnEdit)

JPropertyEditor

public JPropertyEditor(PropertyEntry entry)
the instance is initialized with the properties of the given entry, but the changes from this implementation are not written back to the given entry. The selectAllOnEdit feature is disabled by default.

See Also:
writePropertiesInto(PropertyEntry)

JPropertyEditor

public JPropertyEditor(Map<?,?> props,
                       boolean selectAllOnEdit)

JPropertyEditor

public JPropertyEditor(Map<?,?> props)
Method Detail

setUseJComboBoxForValues

public void setUseJComboBoxForValues(boolean flag)

setClassStore

public void setClassStore(DBClassStore<?> store)
if set to a a non-null value, the given store is queried for mapping information allowing to pre-initialize possible key/value selections


setSelectAllOnEdit

public void setSelectAllOnEdit(boolean flag)

isEmpty

public boolean isEmpty()

getJTable

public JTable getJTable()

getModel

public StringMapTableModel getModel()

getProperties

public Map<String,String> getProperties()
direct access to the properties of the underlying model


setProperties

public void setProperties(Map<?,?> props)
given props remain untouched; they are copied into the embedded model


writePropertiesInto

public void writePropertiesInto(PropertyEntry entry)
existing properties of the given entry are deleted and all properties from this instance are written into it.


getSuggestedKeys

public String[] getSuggestedKeys()

setSuggestedKeys

public void setSuggestedKeys(String... suggestedKeys)

setSuggestedValues

public void setSuggestedValues(Map<String,String[]> suggestedValues)

getSuggestedValues

public Map<String,String[]> getSuggestedValues()

getSuggestedKeysOnly

public boolean getSuggestedKeysOnly()

setSuggestedKeysOnly

public void setSuggestedKeysOnly(boolean flag)

isSuggestedValuesOnly

public boolean isSuggestedValuesOnly()

setSuggestedValuesOnly

public void setSuggestedValuesOnly(boolean flag)

getKeyValuesFromStore

protected String[] getKeyValuesFromStore()

addProperty

protected void addProperty()

deleteProperty

protected void deleteProperty()

isEditable

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

setEditable

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


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