org.comedia.ui
Class CDataTable

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JTable
                          |
                          +--org.comedia.ui.CDataTable
All Implemented Interfaces:
javax.accessibility.Accessible, javax.swing.event.CellEditorListener, java.util.EventListener, java.awt.image.ImageObserver, javax.swing.event.ListSelectionListener, java.awt.MenuContainer, javax.swing.Scrollable, java.io.Serializable, javax.swing.event.TableColumnModelListener, javax.swing.event.TableModelListener

public class CDataTable
extends javax.swing.JTable

Presents a table with extended capabilities to add or remove data rows. Moreover this table close interact with CTableScroller to show the table state in row headers and CTableNavigator to navigate in rowset.

The table supports keyboard insertion and deletion operations through keyboard. INSERT key adds a new row in the current position. CTRL-DELETE key removes all selected rows from the table.

Note: you should use models descanded from DefaultTableModel to use the features of this class.

Usage examples:

 JFrame frame = new JFrame("Comedia Data Grid Test");
 CDataTable table = new CDataTable();
 CTableScroller scroll = new CTableScroller();
 frame.getContentPane().add(scroll, BorderLayout.CENTER);

 CTableNavigator navigator = new CTableNavigator(table);
 frame.getContentPane().add(navigator, BorderLayout.SOUTH);
 

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JTable
javax.swing.JTable.AccessibleJTable
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
protected  javax.swing.event.EventListenerList listenerList
          The list of listeners.
 
Fields inherited from class javax.swing.JTable
AUTO_RESIZE_ALL_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_OFF, AUTO_RESIZE_SUBSEQUENT_COLUMNS, autoCreateColumnsFromModel, autoResizeMode, cellEditor, cellSelectionEnabled, columnModel, dataModel, defaultEditorsByColumnClass, defaultRenderersByColumnClass, editingColumn, editingRow, editorComp, gridColor, preferredViewportSize, rowHeight, rowMargin, rowSelectionAllowed, selectionBackground, selectionForeground, selectionModel, showHorizontalLines, showVerticalLines, tableHeader
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
CDataTable()
          Constructs this class with default parameters.
 
Method Summary
 void addItemListener(java.awt.event.ItemListener l)
          Adds a listener to the list that's notified each time a change to the data model occurs.
 boolean editCellAt(int row, int column, java.util.EventObject e)
          Programmatically starts editing the cell at row and column, if the cell is editable.
 void editingCanceled(javax.swing.event.ChangeEvent e)
          Invoked when editing is canceled.
 void editingStopped(javax.swing.event.ChangeEvent e)
          Invoked when editing is finished.
 void fireItemStateChanged(java.awt.event.ItemEvent e)
          Forwards the given notification event to all TableModelListeners that registered themselves as listeners for this table model.
 int getRowCount()
          Gets a current row count.
 java.lang.Object getValueAt(int row, int column)
          Returns the cell value at row and column.
 boolean isDelete()
          Checks the current deletion row status.
 boolean isInsert()
          Checks the current insertion row status.
static void main(java.lang.String[] args)
          The main routine to run this module as standalone application.
protected  void processKeyEvent(java.awt.event.KeyEvent e)
          Invoked when key event is accepted from user.
 void removeItemListener(java.awt.event.ItemListener l)
          Removes a listener from the list that's notified each time a change to the data model occurs.
 void setDelete(boolean delete)
          Sets a new deletion status.
 void setInsert(boolean insert)
          Sets a new insertion status.
 void setValueAt(java.lang.Object aValue, int row, int column)
          Sets the value for the cell in the table model at row and column.
 
Methods inherited from class javax.swing.JTable
addColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, changeSelection, clearSelection, columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, configureEnclosingScrollPane, convertColumnIndexToModel, convertColumnIndexToView, createDefaultColumnModel, createDefaultColumnsFromModel, createDefaultDataModel, createDefaultEditors, createDefaultRenderers, createDefaultSelectionModel, createDefaultTableHeader, createScrollPaneForTable, doLayout, editCellAt, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoResizeMode, getCellEditor, getCellEditor, getCellRect, getCellRenderer, getCellSelectionEnabled, getColumn, getColumnClass, getColumnCount, getColumnModel, getColumnName, getColumnSelectionAllowed, getDefaultEditor, getDefaultRenderer, getEditingColumn, getEditingRow, getEditorComponent, getGridColor, getIntercellSpacing, getModel, getPreferredScrollableViewportSize, getRowHeight, getRowHeight, getRowMargin, getRowSelectionAllowed, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedColumn, getSelectedColumnCount, getSelectedColumns, getSelectedRow, getSelectedRowCount, getSelectedRows, getSelectionBackground, getSelectionForeground, getSelectionModel, getShowHorizontalLines, getShowVerticalLines, getTableHeader, getToolTipText, getUI, getUIClassID, initializeLocalVars, isCellEditable, isCellSelected, isColumnSelected, isEditing, isFocusTraversable, isManagingFocus, isRowSelected, moveColumn, paramString, prepareEditor, prepareRenderer, processKeyBinding, removeColumn, removeColumnSelectionInterval, removeEditor, removeNotify, removeRowSelectionInterval, resizeAndRepaint, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setAutoResizeMode, setCellEditor, setCellSelectionEnabled, setColumnModel, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setEditingColumn, setEditingRow, setGridColor, setIntercellSpacing, setModel, setPreferredScrollableViewportSize, setRowHeight, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setTableHeader, setUI, sizeColumnsToFit, sizeColumnsToFit, tableChanged, unconfigureEnclosingScrollPane, updateUI, valueChanged
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isLightweightComponent, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

listenerList

protected javax.swing.event.EventListenerList listenerList
The list of listeners.
Constructor Detail

CDataTable

public CDataTable()
Constructs this class with default parameters.
Method Detail

addItemListener

public void addItemListener(java.awt.event.ItemListener l)
Adds a listener to the list that's notified each time a change to the data model occurs.
Parameters:
l - the TableModelListener.

removeItemListener

public void removeItemListener(java.awt.event.ItemListener l)
Removes a listener from the list that's notified each time a change to the data model occurs.
Parameters:
l - the TableModelListener.

fireItemStateChanged

public void fireItemStateChanged(java.awt.event.ItemEvent e)
Forwards the given notification event to all TableModelListeners that registered themselves as listeners for this table model.
Parameters:
e - the event to be forwarded

isDelete

public boolean isDelete()
Checks the current deletion row status.

setDelete

public void setDelete(boolean delete)
Sets a new deletion status.
Parameters:
TRUE - to allow deletion, FALSE otherwise.

isInsert

public boolean isInsert()
Checks the current insertion row status.

setInsert

public void setInsert(boolean insert)
Sets a new insertion status.
Parameters:
TRUE - to allow insertion, FALSE otherwise.

getRowCount

public int getRowCount()
Gets a current row count.
Overrides:
getRowCount in class javax.swing.JTable

getValueAt

public java.lang.Object getValueAt(int row,
                                   int column)
Returns the cell value at row and column.
Overrides:
getValueAt in class javax.swing.JTable
Parameters:
row - the row whose value is to be queried.
column - the column whose value is to be queried.
Returns:
the Object at the specified cell

setValueAt

public void setValueAt(java.lang.Object aValue,
                       int row,
                       int column)
Sets the value for the cell in the table model at row and column.
Overrides:
setValueAt in class javax.swing.JTable
Parameters:
aValue - the new value.
row - the row of the cell to be changed.
column - the column of the cell to be changed.

editCellAt

public boolean editCellAt(int row,
                          int column,
                          java.util.EventObject e)
Programmatically starts editing the cell at row and column, if the cell is editable.
Overrides:
editCellAt in class javax.swing.JTable
Parameters:
row - the row to be edited.
column - the column to be edited.
Returns:
FALSE if for any reason the cell cannot be edited.

editingStopped

public void editingStopped(javax.swing.event.ChangeEvent e)
Invoked when editing is finished. The changes are saved and the editor is discarded.
Overrides:
editingStopped in class javax.swing.JTable
Parameters:
e - the event received.

editingCanceled

public void editingCanceled(javax.swing.event.ChangeEvent e)
Invoked when editing is canceled. The editor object is discarded and the cell is rendered once again.
Overrides:
editingCanceled in class javax.swing.JTable
Parameters:
e - the event received.

processKeyEvent

protected void processKeyEvent(java.awt.event.KeyEvent e)
Invoked when key event is accepted from user.
Overrides:
processKeyEvent in class javax.swing.JComponent
Parameters:
e - the event received.

main

public static void main(java.lang.String[] args)
The main routine to run this module as standalone application.