com.sibvisions.rad.ui.swing.ext
Class JVxEditor

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 com.sibvisions.rad.ui.swing.ext.JVxEditor
All Implemented Interfaces:
ICellFormatterEditorListener, java.awt.event.FocusListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.lang.Runnable, java.util.EventListener, javax.accessibility.Accessible, ICellEditorListener, IControl, IEditorControl, ITranslatable, IAlignmentConstants, ITranslator

public class JVxEditor
extends javax.swing.JPanel
implements IEditorControl, ICellFormatterEditorListener, java.awt.event.FocusListener, IAlignmentConstants, java.lang.Runnable

The JVxEditor implements the IEditorControl interface.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.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 javax.rad.model.ui.ICellEditorListener
ACTION_KEY, ENTER_KEY, ESCAPE_KEY, FOCUS_LOST, SHIFT_ENTER_KEY, SHIFT_TAB_KEY, TAB_KEY
 
Fields inherited from interface javax.rad.ui.IAlignmentConstants
ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_DEFAULT, ALIGN_LEFT, ALIGN_RIGHT, ALIGN_STRETCH, ALIGN_TOP
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JVxEditor()
          Constructs an editor.
 
Method Summary
 void addKeyListener(java.awt.event.KeyListener pKeyListener)
          
 void addMouseListener(java.awt.event.MouseListener pMouseListener)
          
 void addNotify()
          
 void cancelEditing()
          Informs the GUI control, that the last edit should be canceled(restored) the correct value is in the DataBook.
 void editingComplete(java.lang.String pCompleteType)
          Informs the ICellEditorListener that the editing is completed.
 void editingStarted()
          Informs the ICellEditorListener that the editing has started.
 void focusGained(java.awt.event.FocusEvent pEvent)
          
 void focusLost(java.awt.event.FocusEvent pEvent)
          
 ICellEditor getCellEditor()
          Gets the CellEditor that edits the given column in the given DataRow.
 ICellEditorHandler<javax.swing.JComponent> getCellEditorHandler()
          The current used CellEditor for editing.
 ICellFormatter getCellFormatter()
          Gets the CellFormatter.
 java.lang.String getColumnName()
          Gets the column name edited by this control.
 IControl getControl()
          Get's the control corresponding to this cell editor listener.
 IDataRow getDataRow()
          Gets the DataRow edited by this control.
 java.lang.String getEditorComponentName()
          Gets the name of the editor JComponent.
protected  java.awt.Component getFocusableComponent(java.awt.Component pComponent)
          Gets the focusable sub component of the given component.
 int getHorizontalAlignment()
          Returns the alignment along the x axis.
 TranslationMap getTranslation()
          Gets the possible translation mapping.
 int getVerticalAlignment()
          Returns the alignment along the y axis.
 boolean isBorderVisible()
          Returns whether the the border of the text field is visible.
 boolean isSavingImmediate()
          Tells whether the CellEditor should save immediate.
 boolean isShowing()
          
 boolean isTranslationEnabled()
          Gets whether the translation is en- or disabled.
 void notifyRepaint()
          The control need to check if the part is visible and then repaint the part.
 void removeKeyListener(java.awt.event.KeyListener pKeyListener)
          
 void removeMouseListener(java.awt.event.MouseListener pMouseListener)
          
 void removeNotify()
          
 void requestFocus()
          
 void run()
          The run method is invoked from AWT EventQueue.
 void saveEditing()
          Informs the GUI control, that the last edit should be set into the IDataBook or IDataRow.
 void setBackground(java.awt.Color pColor)
          
 void setBorderVisible(boolean pVisible)
          Sets the border of the text field visible or invisible.
 void setCellEditor(ICellEditor pCellEditor)
          Sets the CellEditor that edits the given column in the given DataRow.
 void setCellFormatter(ICellFormatter pCellFormatter)
          Sets the cell formatter.
 void setColumnName(java.lang.String pColumnName)
          Sets the column edited by this control.
 void setDataRow(IDataRow pDataRow)
          Sets the DataRow edited by this control.
 void setEditorComponentName(java.lang.String pName)
          Sets the name of the editor JComponent if it is a JComboBox or of the first focusable JComponent.
 void setEnabled(boolean pEnabled)
          
 void setFont(java.awt.Font pEnabled)
          
 void setForeground(java.awt.Color pEnabled)
          
 void setHorizontalAlignment(int pHorizontalAlignment)
          Sets the horizontal alignment.
 void setSavingImmediate(boolean pSavingImmediate)
          Sets whether the CellEditor should save immediate.
 void setToolTipText(java.lang.String pToolTipText)
          
 void setTranslation(TranslationMap pTranslation)
          Sets the possible translations.
 void setTranslationEnabled(boolean pEnabled)
          Sets the translation en- or disabled.
 void setVerticalAlignment(int pVerticalAlignment)
          Sets the vertical alignment.
 java.lang.String translate(java.lang.String pText)
          Method to translate a given text.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, 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, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
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, 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, 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, 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

JVxEditor

public JVxEditor()
Constructs an editor.

Method Detail

setEnabled

public void setEnabled(boolean pEnabled)

Overrides:
setEnabled in class javax.swing.JComponent

setBackground

public void setBackground(java.awt.Color pColor)

Overrides:
setBackground in class javax.swing.JComponent

setForeground

public void setForeground(java.awt.Color pEnabled)

Overrides:
setForeground in class javax.swing.JComponent

setFont

public void setFont(java.awt.Font pEnabled)

Overrides:
setFont in class javax.swing.JComponent

isShowing

public boolean isShowing()

Overrides:
isShowing in class java.awt.Component

addNotify

public void addNotify()

Overrides:
addNotify in class javax.swing.JComponent

removeNotify

public void removeNotify()

Overrides:
removeNotify in class javax.swing.JComponent

requestFocus

public void requestFocus()

Overrides:
requestFocus in class javax.swing.JComponent

addMouseListener

public void addMouseListener(java.awt.event.MouseListener pMouseListener)

Overrides:
addMouseListener in class java.awt.Component

removeMouseListener

public void removeMouseListener(java.awt.event.MouseListener pMouseListener)

Overrides:
removeMouseListener in class java.awt.Component

addKeyListener

public void addKeyListener(java.awt.event.KeyListener pKeyListener)

Overrides:
addKeyListener in class java.awt.Component

removeKeyListener

public void removeKeyListener(java.awt.event.KeyListener pKeyListener)

Overrides:
removeKeyListener in class java.awt.Component

setToolTipText

public void setToolTipText(java.lang.String pToolTipText)

Overrides:
setToolTipText in class javax.swing.JComponent

getHorizontalAlignment

public int getHorizontalAlignment()
Returns the alignment along the x axis. This specifies how the component would like to be aligned relative to other components. Possible values are defined in AlignmentConstants.

Specified by:
getHorizontalAlignment in interface IAlignmentConstants
Returns:
the horizontal alignment

setHorizontalAlignment

public void setHorizontalAlignment(int pHorizontalAlignment)
Sets the horizontal alignment. Possible values are defined in AlignmentConstants.

Specified by:
setHorizontalAlignment in interface IAlignmentConstants
Parameters:
pHorizontalAlignment - the new vertical alignment

getVerticalAlignment

public int getVerticalAlignment()
Returns the alignment along the y axis. This specifies how the component would like to be aligned relative to other components. Possible values are defined in AlignmentConstants.

Specified by:
getVerticalAlignment in interface IAlignmentConstants
Returns:
the vertical alignment

setVerticalAlignment

public void setVerticalAlignment(int pVerticalAlignment)
Sets the vertical alignment. Possible values are defined in AlignmentConstants.

Specified by:
setVerticalAlignment in interface IAlignmentConstants
Parameters:
pVerticalAlignment - the new vertical alignment

run

public void run()
The run method is invoked from AWT EventQueue. It enables events from the model again. Due to performance reasons the events are disabled from the first call of notifyRepaint until the EventQueue calls the run method. This minimizes the repaints of the control.

Specified by:
run in interface java.lang.Runnable

notifyRepaint

public void notifyRepaint()
The control need to check if the part is visible and then repaint the part. Notify repaint is called on every change. The IControl has to catch the change, and return immediate. The change analysis and display has to be done with invoke later by the control.

Specified by:
notifyRepaint in interface IControl

cancelEditing

public void cancelEditing()
Informs the GUI control, that the last edit should be canceled(restored) the correct value is in the DataBook.

Specified by:
cancelEditing in interface IControl

saveEditing

public void saveEditing()
                 throws ModelException
Informs the GUI control, that the last edit should be set into the IDataBook or IDataRow.

Specified by:
saveEditing in interface IControl
Throws:
ModelException - if the value can not be stored.

getCellFormatter

public ICellFormatter getCellFormatter()
Gets the CellFormatter.

Specified by:
getCellFormatter in interface ICellFormatterEditorListener
Returns:
the CellFormatter.

setTranslation

public void setTranslation(TranslationMap pTranslation)
Sets the possible translations.

Specified by:
setTranslation in interface ITranslatable
Parameters:
pTranslation - the translation mapping

getTranslation

public TranslationMap getTranslation()
Gets the possible translation mapping.

Specified by:
getTranslation in interface ITranslatable
Returns:
the translation mapping

setTranslationEnabled

public void setTranslationEnabled(boolean pEnabled)
Sets the translation en- or disabled.

Specified by:
setTranslationEnabled in interface ITranslatable
Parameters:
pEnabled - true to enable the translation, false to disable

isTranslationEnabled

public boolean isTranslationEnabled()
Gets whether the translation is en- or disabled.

Specified by:
isTranslationEnabled in interface ITranslatable
Returns:
true if translation is performed, false otherwise

translate

public java.lang.String translate(java.lang.String pText)
Method to translate a given text.

Specified by:
translate in interface ITranslator
Parameters:
pText - the text to translate.
Returns:
the translated text.

editingStarted

public void editingStarted()
Informs the ICellEditorListener that the editing has started.

Specified by:
editingStarted in interface ICellEditorListener

editingComplete

public void editingComplete(java.lang.String pCompleteType)
Informs the ICellEditorListener that the editing is completed.

Specified by:
editingComplete in interface ICellEditorListener
Parameters:
pCompleteType - the type of completion.

isSavingImmediate

public boolean isSavingImmediate()
Tells whether the CellEditor should save immediate.

Specified by:
isSavingImmediate in interface ICellEditorListener
Returns:
whether the CellEditor should save immediate.

getControl

public IControl getControl()
Get's the control corresponding to this cell editor listener.

Specified by:
getControl in interface ICellEditorListener
Returns:
the control corresponding to this cell editor listener.

focusGained

public void focusGained(java.awt.event.FocusEvent pEvent)

Specified by:
focusGained in interface java.awt.event.FocusListener

focusLost

public void focusLost(java.awt.event.FocusEvent pEvent)

Specified by:
focusLost in interface java.awt.event.FocusListener

getDataRow

public IDataRow getDataRow()
Gets the DataRow edited by this control.

Specified by:
getDataRow in interface IEditorControl
Returns:
the DataRow.
See Also:
setDataRow(javax.rad.model.IDataRow)

setDataRow

public void setDataRow(IDataRow pDataRow)
                throws ModelException
Sets the DataRow edited by this control.

Specified by:
setDataRow in interface IEditorControl
Parameters:
pDataRow - the DataRow.
Throws:
ModelException - if the column name for the row is invalid
See Also:
getDataRow(), setColumnName(String)

getEditorComponentName

public java.lang.String getEditorComponentName()
Gets the name of the editor JComponent.

Returns:
the name of the editor JComponent.

setEditorComponentName

public void setEditorComponentName(java.lang.String pName)
Sets the name of the editor JComponent if it is a JComboBox or of the first focusable JComponent.

Parameters:
pName - the name to set.

getColumnName

public java.lang.String getColumnName()
Gets the column name edited by this control.

Specified by:
getColumnName in interface IEditorControl
Returns:
the column name.
See Also:
setColumnName(java.lang.String)

setColumnName

public void setColumnName(java.lang.String pColumnName)
                   throws ModelException
Sets the column edited by this control.

Specified by:
setColumnName in interface IEditorControl
Parameters:
pColumnName - the column.
Throws:
ModelException - if the column name is invalid
See Also:
getColumnName()

setSavingImmediate

public void setSavingImmediate(boolean pSavingImmediate)
Sets whether the CellEditor should save immediate.

Parameters:
pSavingImmediate - true, if the CellEditor should save immediate.

setBorderVisible

public void setBorderVisible(boolean pVisible)
Sets the border of the text field visible or invisible.

Parameters:
pVisible - true to set the border visible or false to hide the border

isBorderVisible

public boolean isBorderVisible()
Returns whether the the border of the text field is visible.

Returns:
true if the border is visible, false if the border is invisible

getFocusableComponent

protected java.awt.Component getFocusableComponent(java.awt.Component pComponent)
Gets the focusable sub component of the given component.

Parameters:
pComponent - the component.
Returns:
the focusable sub component of the given component.

getCellEditor

public ICellEditor getCellEditor()
Gets the CellEditor that edits the given column in the given DataRow. If the CellEditor is null, the editor from the columns DataType is used to edit.

Specified by:
getCellEditor in interface IEditorControl
Returns:
the CellEditor.
See Also:
setCellEditor(javax.rad.model.ui.ICellEditor)

setCellEditor

public void setCellEditor(ICellEditor pCellEditor)
                   throws ModelException
Sets the CellEditor that edits the given column in the given DataRow. If the CellEditor is null, the editor from the columns DataType is used to edit.

Specified by:
setCellEditor in interface IEditorControl
Parameters:
pCellEditor - the CellEditor.
Throws:
ModelException - if the column name of the editor is invalid
See Also:
getCellEditor()

getCellEditorHandler

public ICellEditorHandler<javax.swing.JComponent> getCellEditorHandler()
The current used CellEditor for editing.

Returns:
The current used CellEditor for editing.

setCellFormatter

public void setCellFormatter(ICellFormatter pCellFormatter)
Sets the cell formatter.

Parameters:
pCellFormatter - the formatter


Copyright © 2009 SIB Visions GmbH. All Rights Reserved.