com.froses.widgets
Class EnhancedJTable

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JTable
                  extended bycom.froses.widgets.EnhancedJTable
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 EnhancedJTable
extends javax.swing.JTable
implements java.io.Serializable

Is a JTable extension generating action events on typing enter,tab shift-tab. EnhancedJTable shows a tooltip with the cell contents if it is not fully visible and is able to autoadjust the cell width to their contents.

[20/10/01] Modifications in getCellRendererComponent(row, col): "String value = getValueAt(row, col).toString();" now is "Object value = getValueAt(row, col);" to avoid possible conversion problems executing getTableCellRendererComponent() over the renderer. Creation date: (3/10/01 5:54:35)

See Also:
EnhancedJTableSample, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
 
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
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
EnhancedJTable()
          EnhancedJTable constructor comment.
EnhancedJTable(int numRows, int numColumns)
          EnhancedJTable constructor comment.
EnhancedJTable(java.lang.Object[][] rowData, java.lang.Object[] columnNames)
          EnhancedJTable constructor comment.
EnhancedJTable(javax.swing.table.TableModel dm)
          EnhancedJTable constructor comment.
EnhancedJTable(javax.swing.table.TableModel dm, javax.swing.table.TableColumnModel cm)
          EnhancedJTable constructor comment.
EnhancedJTable(javax.swing.table.TableModel dm, javax.swing.table.TableColumnModel cm, javax.swing.ListSelectionModel sm)
          EnhancedJTable constructor comment.
EnhancedJTable(java.util.Vector rowData, java.util.Vector columnNames)
          EnhancedJTable constructor comment.
 
Method Summary
 void addActionListener(java.awt.event.ActionListener l)
          Adds an ActionListener.
 void autosizeColumn(int col)
          Autosizes the specified column to the width of its longest cell.
 void changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
          Overwritten to autoscroll only vertically, not horizontally.
 java.awt.Point getToolTipLocation(java.awt.event.MouseEvent evt)
          Overridden to return null, if the cell is fully visible, so that ToolTips are only displayed if the cell is partially hidden.
 java.lang.String getToolTipText(java.awt.event.MouseEvent evt)
          Overridden to return null, if the cell is fully visible, so that ToolTips are only displayed if the cell is partially hidden.
 boolean isAutoResizeColumns()
          Gets the autoResizeColumns property (boolean) value.
 void removeActionListener(java.awt.event.ActionListener l)
          Deletes an ActionListener.
 void setAutoResizeColumns(boolean autoResizeColumns)
          Sets the autoResizeColumns property (boolean) value.
 void setAutoResizeMode(int mode)
          Overridden, so that any attempts to set a mode other than AUTO_RESIZE_OFF are ignored, if autoResizeColumns is on.
 void tableChanged(javax.swing.event.TableModelEvent e)
          Invoked when the table data has changed, this method autoresizes all columns to its longest content length, if autoResizeColumns is on.
 
Methods inherited from class javax.swing.JTable
addColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, clearSelection, columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, convertColumnIndexToModel, convertColumnIndexToView, createDefaultColumnsFromModel, createScrollPaneForTable, doLayout, editCellAt, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoResizeMode, getCellEditor, getCellEditor, getCellRect, getCellRenderer, getCellSelectionEnabled, getColumn, getColumnClass, getColumnCount, getColumnModel, getColumnName, getColumnSelectionAllowed, getDefaultEditor, getDefaultRenderer, getDragEnabled, getEditingColumn, getEditingRow, getEditorComponent, getGridColor, getIntercellSpacing, getModel, getPreferredScrollableViewportSize, getRowCount, getRowHeight, getRowHeight, getRowMargin, getRowSelectionAllowed, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedColumn, getSelectedColumnCount, getSelectedColumns, getSelectedRow, getSelectedRowCount, getSelectedRows, getSelectionBackground, getSelectionForeground, getSelectionModel, getShowHorizontalLines, getShowVerticalLines, getSurrendersFocusOnKeystroke, getTableHeader, getUI, getUIClassID, getValueAt, isCellEditable, isCellSelected, isColumnSelected, isEditing, isRowSelected, moveColumn, prepareEditor, prepareRenderer, removeColumn, removeColumnSelectionInterval, removeEditor, removeNotify, removeRowSelectionInterval, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setCellEditor, setCellSelectionEnabled, setColumnModel, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setDragEnabled, setEditingColumn, setEditingRow, setGridColor, setIntercellSpacing, setModel, setPreferredScrollableViewportSize, setRowHeight, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setSurrendersFocusOnKeystroke, setTableHeader, setUI, setValueAt, sizeColumnsToFit, sizeColumnsToFit, 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, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EnhancedJTable

public EnhancedJTable()
EnhancedJTable constructor comment.


EnhancedJTable

public EnhancedJTable(java.lang.Object[][] rowData,
                      java.lang.Object[] columnNames)
EnhancedJTable constructor comment.

Parameters:
rowData - java.lang.Object[][]
columnNames - java.lang.Object[]

EnhancedJTable

public EnhancedJTable(int numRows,
                      int numColumns)
EnhancedJTable constructor comment.

Parameters:
numRows - int
numColumns - int

EnhancedJTable

public EnhancedJTable(java.util.Vector rowData,
                      java.util.Vector columnNames)
EnhancedJTable constructor comment.

Parameters:
rowData - java.util.Vector
columnNames - java.util.Vector

EnhancedJTable

public EnhancedJTable(javax.swing.table.TableModel dm)
EnhancedJTable constructor comment.

Parameters:
dm - javax.swing.table.TableModel

EnhancedJTable

public EnhancedJTable(javax.swing.table.TableModel dm,
                      javax.swing.table.TableColumnModel cm)
EnhancedJTable constructor comment.

Parameters:
dm - javax.swing.table.TableModel
cm - javax.swing.table.TableColumnModel

EnhancedJTable

public EnhancedJTable(javax.swing.table.TableModel dm,
                      javax.swing.table.TableColumnModel cm,
                      javax.swing.ListSelectionModel sm)
EnhancedJTable constructor comment.

Parameters:
dm - javax.swing.table.TableModel
cm - javax.swing.table.TableColumnModel
sm - javax.swing.ListSelectionModel
Method Detail

addActionListener

public void addActionListener(java.awt.event.ActionListener l)
Adds an ActionListener. Creation date: (3/10/01 6:09:29)

Parameters:
l - java.awt.event.ActionListener

autosizeColumn

public void autosizeColumn(int col)
Autosizes the specified column to the width of its longest cell. Creation date: (27/09/2001 16:00:10) Version:

Parameters:
col - int

changeSelection

public void changeSelection(int rowIndex,
                            int columnIndex,
                            boolean toggle,
                            boolean extend)
Overwritten to autoscroll only vertically, not horizontally.


getToolTipLocation

public final java.awt.Point getToolTipLocation(java.awt.event.MouseEvent evt)
Overridden to return null, if the cell is fully visible, so that ToolTips are only displayed if the cell is partially hidden. Creation date: (27/09/2001 16:04:16) Version:

Parameters:
evt - java.awt.event.MouseEvent
Returns:
java.awt.Point

getToolTipText

public final java.lang.String getToolTipText(java.awt.event.MouseEvent evt)
Overridden to return null, if the cell is fully visible, so that ToolTips are only displayed if the cell is partially hidden. Creation date: (27/09/2001 16:11:03) Version:

Parameters:
evt - java.awt.event.MouseEvent
Returns:
java.lang.String

isAutoResizeColumns

public boolean isAutoResizeColumns()
Gets the autoResizeColumns property (boolean) value.

Returns:
The autoResizeColumns property value.
See Also:
setAutoResizeColumns(boolean)

removeActionListener

public void removeActionListener(java.awt.event.ActionListener l)
Deletes an ActionListener. Creation date: (3/10/01 6:10:30)

Parameters:
l - java.awt.event.ActionListener

setAutoResizeColumns

public void setAutoResizeColumns(boolean autoResizeColumns)
Sets the autoResizeColumns property (boolean) value.

If true, columns are autoresized according to the largest display width of their contents.

Parameters:
autoResizeColumns - The new value for the property.
See Also:
isAutoResizeColumns()

setAutoResizeMode

public void setAutoResizeMode(int mode)
Overridden, so that any attempts to set a mode other than AUTO_RESIZE_OFF are ignored, if autoResizeColumns is on. Creation date: (10/10/01 7:12:22)

Parameters:
mode - int

tableChanged

public void tableChanged(javax.swing.event.TableModelEvent e)
Invoked when the table data has changed, this method autoresizes all columns to its longest content length, if autoResizeColumns is on. Creation date: (27/09/2001 16:19:45) Version:

Specified by:
tableChanged in interface javax.swing.event.TableModelListener
Parameters:
e - javax.swing.event.TableModelEvent