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

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JScrollPane
                  extended by com.sibvisions.rad.ui.swing.ext.JVxScrollPane
                      extended by com.sibvisions.rad.ui.swing.ext.JVxTable
All Implemented Interfaces:
KeyListener, MouseListener, ImageObserver, MenuContainer, Serializable, Runnable, EventListener, Accessible, ICellEditorListener, IControl, ListSelectionListener, ScrollPaneConstants

public class JVxTable
extends JVxScrollPane
implements IControl, ICellEditorListener, ListSelectionListener, Runnable, KeyListener

Scrollable JTable that implements IControl interface.

See Also:
Serialized Form

Nested Class Summary
static class JVxTable.CellEditorPane
          CellEditorPane provides different editor sizes as the cell has.
static class JVxTable.DataBookTableColumnModel
          Implements the JTable model interfaces with the given IDataBook.
static class JVxTable.DataBookTableModel
          Implements the TableModel interfaces with the given IDataBook.
static class JVxTable.GenericTableCellHandler
          The GenericTableCellEditor is a wrapper, that provides ICellEditor functionality.
 
Nested classes/interfaces inherited from class javax.swing.JScrollPane
JScrollPane.AccessibleJScrollPane, JScrollPane.ScrollBar
 
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.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JScrollPane
columnHeader, horizontalScrollBar, horizontalScrollBarPolicy, lowerLeft, lowerRight, rowHeader, upperLeft, upperRight, verticalScrollBar, verticalScrollBarPolicy, viewport
 
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.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
JVxTable()
          Constructs a JVxTable.
 
Method Summary
 void cancelEditing()
          Informs the GUI control, that the last edit should be canceled(restored) the correct value is in the DataBook.
 void editingComplete(String pCompleteType)
          Informs the ICellEditorListener that the editing is completed.
 void editingStarted()
          Informs the ICellEditorListener that the editing has started.
 ICellEditorHandler<JComponent> getCellEditorHandler()
          The current used CellEditor for editing.
 ICellFormatter getCellFormatter()
          Gets the CellFormatter.
 IDataBook getDataBook()
          Returns the DataBook displayed by this control.
 JTable getJTable()
          Gets the JTable used by JVxTable.
 TranslationMap getTranslation()
          Gets the translation for this table.
 boolean isAutoResize()
          Gets true, if the JVxTable is in auto resize mode.
 boolean isSavingImmediate()
          Tells whether the CellEditor should save immediate.
 boolean isSortOnHeaderEnabled()
          Gets true, if it is possible sorting the data by clicking on the header.
 boolean isTableHeaderVisible()
          Gets the visibility of the table header.
 void keyPressed(KeyEvent pKeyEvent)
          
 void keyReleased(KeyEvent pKeyEvent)
          
 void keyTyped(KeyEvent pKeyEvent)
          
 void mousePressed(MouseEvent pMouseEvent)
          
 void mouseReleased(MouseEvent pMouseEvent)
          
 void notifyRepaint()
          The control need to check if the part is visible and then repaint the part.
 void removeNotify()
          
 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 scrollToSelectedCell()
          Scrolls the selected Cell in the visible Region of the JVxTable.
 void selectNextCell(boolean pDelegateFocus)
          Selects the next cell.
 void selectNextPage(boolean pDelegateFocus)
          Selects the next row.
 void selectNextRow(boolean pDelegateFocus)
          Selects the next row.
 void selectPreviousCell(boolean pDelegateFocus)
          Selects the previous cell.
 void selectPreviousPage(boolean pDelegateFocus)
          Selects the previous cell.
 void selectPreviousRow(boolean pDelegateFocus)
          Selects the previous cell.
 void setAutoResize(boolean pAutoResize)
          Sets true, if the JVxTable is in auto resize mode.
protected  void setCellEditorHandler(ICellEditorHandler pCellEditorHandler)
          Sets the current used ICellEditorHandler for editing.
 void setCellFormatter(ICellFormatter pCellFormatter)
          Sets the CellFormatter.
 void setDataBook(IDataBook pDataBook)
          Sets the DataBook displayed by this control.
 void setSortOnHeaderEnabled(boolean pSortOnHeaderEnabled)
          Set true, if it should possible sorting the data by clicking on the header.
 void setTableHeaderVisible(boolean pTableHeaderVisible)
          Sets the visibility of the table header.
 void setTranslation(TranslationMap pTranslation)
          Sets the translation for this table.
protected  String translate(String pText)
          Translates the pText with the mapped translations.
 void valueChanged(ListSelectionEvent pListSelectionEvent)
          
 
Methods inherited from class com.sibvisions.rad.ui.swing.ext.JVxScrollPane
getPreferredSize, getViewportView, mouseClicked, mouseEntered, mouseExited, setViewport
 
Methods inherited from class javax.swing.JScrollPane
createHorizontalScrollBar, createVerticalScrollBar, createViewport, getAccessibleContext, getColumnHeader, getCorner, getHorizontalScrollBar, getHorizontalScrollBarPolicy, getRowHeader, getUI, getUIClassID, getVerticalScrollBar, getVerticalScrollBarPolicy, getViewport, getViewportBorder, getViewportBorderBounds, isValidateRoot, isWheelScrollingEnabled, paramString, setColumnHeader, setColumnHeaderView, setComponentOrientation, setCorner, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setLayout, setRowHeader, setRowHeaderView, setUI, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewportBorder, setViewportView, setWheelScrollingEnabled, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, 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, 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, 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, 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, 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

JVxTable

public JVxTable()
Constructs a JVxTable.

Method Detail

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 Runnable

mousePressed

public void mousePressed(MouseEvent pMouseEvent)

Specified by:
mousePressed in interface MouseListener
Overrides:
mousePressed in class JVxScrollPane

mouseReleased

public void mouseReleased(MouseEvent pMouseEvent)

Specified by:
mouseReleased in interface MouseListener
Overrides:
mouseReleased in class JVxScrollPane

valueChanged

public void valueChanged(ListSelectionEvent pListSelectionEvent)

Specified by:
valueChanged in interface ListSelectionListener

notifyRepaint

public void notifyRepaint()
The control need to check if the part is visible and then repaint the part.

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.

setTranslation

public void setTranslation(TranslationMap pTranslation)
Sets the translation for this table.

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

getTranslation

public TranslationMap getTranslation()
Gets the translation for this table.

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

keyPressed

public void keyPressed(KeyEvent pKeyEvent)

Specified by:
keyPressed in interface KeyListener

keyReleased

public void keyReleased(KeyEvent pKeyEvent)

Specified by:
keyReleased in interface KeyListener

keyTyped

public void keyTyped(KeyEvent pKeyEvent)

Specified by:
keyTyped in interface KeyListener

editingStarted

public void editingStarted()
Informs the ICellEditorListener that the editing has started. He has to Register the IControl on the IDataRow with registerEditingControl.

Specified by:
editingStarted in interface ICellEditorListener

editingComplete

public void editingComplete(String pCompleteType)
Informs the ICellEditorListener that the editing is completed. He has to Unregister the IControl on the IDataRow with unregisterEditingControl.

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.

removeNotify

public void removeNotify()

Overrides:
removeNotify in class JComponent

getDataBook

public IDataBook getDataBook()
Returns the DataBook displayed by this control.

Returns:
the DataBook.
See Also:
setDataBook(javax.rad.model.IDataBook)

setDataBook

public void setDataBook(IDataBook pDataBook)
Sets the DataBook displayed by this control.

Parameters:
pDataBook - the DataBook
See Also:
getDataBook()

getCellFormatter

public ICellFormatter getCellFormatter()
Gets the CellFormatter.

Returns:
the CellFormatter.
See Also:
setCellFormatter(com.sibvisions.rad.ui.swing.ext.format.ICellFormatter)

setCellFormatter

public void setCellFormatter(ICellFormatter pCellFormatter)
Sets the CellFormatter.

Parameters:
pCellFormatter - the CellFormatter
See Also:
getCellFormatter()

isTableHeaderVisible

public boolean isTableHeaderVisible()
Gets the visibility of the table header.

Returns:
the visibility of the table header.

setTableHeaderVisible

public void setTableHeaderVisible(boolean pTableHeaderVisible)
Sets the visibility of the table header.

Parameters:
pTableHeaderVisible - the visibility of the table header.

isSortOnHeaderEnabled

public boolean isSortOnHeaderEnabled()
Gets true, if it is possible sorting the data by clicking on the header.

Returns:
true, if it is possible sorting the data by clicking on the header.

setSortOnHeaderEnabled

public void setSortOnHeaderEnabled(boolean pSortOnHeaderEnabled)
Set true, if it should possible sorting the data by clicking on the header.

Parameters:
pSortOnHeaderEnabled - true, if it is possible sorting the data by clicking on the header.

getJTable

public JTable getJTable()
Gets the JTable used by JVxTable.

Returns:
the JTable used by JVxTable.

isAutoResize

public boolean isAutoResize()
Gets true, if the JVxTable is in auto resize mode.

Returns:
true, if the JVxTable is in auto resize mode.

setAutoResize

public void setAutoResize(boolean pAutoResize)
Sets true, if the JVxTable is in auto resize mode.

Parameters:
pAutoResize - true, if the JVxTable is in auto resize mode.

getCellEditorHandler

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

Returns:
The current used CellEditor for editing.

setCellEditorHandler

protected void setCellEditorHandler(ICellEditorHandler pCellEditorHandler)
Sets the current used ICellEditorHandler for editing. This functionality is internal. It is necessary, because the underlaying JTable calls, the functions for start editing.

Parameters:
pCellEditorHandler - the current used ICellEditorHandler for editing.

scrollToSelectedCell

public void scrollToSelectedCell()
Scrolls the selected Cell in the visible Region of the JVxTable.


selectNextCell

public void selectNextCell(boolean pDelegateFocus)
Selects the next cell. if pDelegateFocus is true, after the last cell the next component is focused.

Parameters:
pDelegateFocus - if true, after the last cell the next component is focused.

selectPreviousCell

public void selectPreviousCell(boolean pDelegateFocus)
Selects the previous cell. if pDelegateFocus is true, after the first cell the previous component is focused.

Parameters:
pDelegateFocus - if true, after the first cell the previous component is focused.

selectNextRow

public void selectNextRow(boolean pDelegateFocus)
Selects the next row. if pDelegateFocus is true, after the last row the next component is focused.

Parameters:
pDelegateFocus - if true, after the last row the next component is focused.

selectPreviousRow

public void selectPreviousRow(boolean pDelegateFocus)
Selects the previous cell. if pDelegateFocus is true, after the first cell the previous component is focused.

Parameters:
pDelegateFocus - if true, after the first cell the previous component is focused.

selectNextPage

public void selectNextPage(boolean pDelegateFocus)
Selects the next row. if pDelegateFocus is true, after the last row the next component is focused.

Parameters:
pDelegateFocus - if true, after the last row the next component is focused.

selectPreviousPage

public void selectPreviousPage(boolean pDelegateFocus)
Selects the previous cell. if pDelegateFocus is true, after the first cell the previous component is focused.

Parameters:
pDelegateFocus - if true, after the first cell the previous component is focused.

translate

protected String translate(String pText)
Translates the pText with the mapped translations.

Parameters:
pText - the text to translate
Returns:
the translation for pText based on the translation mapping or pText if there is no translation available
See Also:
setTranslation(TranslationMap)


Copyright © 2009 SIB Visions GmbH. All Rights Reserved.