edu.northwestern.at.utils.swing.labeledsettingstable
Class LabeledSettingsTable

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JTable
                  extended by edu.northwestern.at.utils.swing.XTable
                      extended by edu.northwestern.at.utils.swing.labeledsettingstable.LabeledSettingsTable
All Implemented Interfaces:
CutCopyPaste, PrintableContents, SaveToFile, SelectAll, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.CellEditorListener, javax.swing.event.ListSelectionListener, javax.swing.event.RowSorterListener, javax.swing.event.TableColumnModelListener, javax.swing.event.TableModelListener, javax.swing.Scrollable

public class LabeledSettingsTable
extends XTable

A two-column table for displaying labeled settings.

This class subclasses JTable to provide a two-column table. The first column is a label, and the second column is a value.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JTable
javax.swing.JTable.AccessibleJTable, javax.swing.JTable.DropLocation, javax.swing.JTable.PrintMode
 
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
protected  int maxWidthNameCol
          Maximum name column width for display.
protected  int maxWidthValueCol
          Maximum value column width for display.
protected  java.util.HashMap savedPaneSettings
          Remembers setting value text pane settings.
protected  LabeledSettingsNameCellRenderer settingNameCellRenderer
          The setting name cell renderer.
(package private)  java.awt.event.MouseListener settingsMouseListener
          Mouse listener for the table.
(package private)  java.awt.event.MouseMotionListener settingsMouseMotionListener
          Mouse motion listener for the table.
protected  LabeledSettingsValueCellRenderer settingValueCellRenderer
          The setting value cell renderer.
protected  LabeledSettingsTableModel tableModel
          The table model for the settings.
 
Fields inherited from class edu.northwestern.at.utils.swing.XTable
copyColumnHeaders, evenRowColor, mouseListener, oddRowColor, stripeEmptyRows, stripeRows, title
 
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, 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
LabeledSettingsTable(java.lang.String[] columnNames)
          Create labeled settings table.
 
Method Summary
 void addSetting(java.lang.String settingName, boolean settingValue)
          Add labeled setting to table.
 void addSetting(java.lang.String settingName, int settingValue)
          Add labeled setting to table.
 void addSetting(java.lang.String settingName, long settingValue)
          Add labeled setting to table.
 void addSetting(java.lang.String settingName, java.lang.Object settingValue)
          Add labeled setting to table.
protected  void doUpdateColumnWidths(int row)
          Updates the maximum column widths.
 void eraseAllSettings()
          Erases current settings display.
protected  void forwardEventToXTextPane(java.awt.event.MouseEvent e)
          Forward a mouse event from the table to the component rendering a table cell.
 boolean isCellEditable(int row, int column)
          Override standard method to disallow cell editing.
protected  void updateColumnWidths()
          Internal set width.
 
Methods inherited from class edu.northwestern.at.utils.swing.XTable
copy, cut, getColorForRow, getCopyAction, getCopyColumnHeaders, getPasteAction, getPrintableComponent, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getStriped, getStripeEmptyRows, getTitle, hideColumn, isCopyEnabled, isCutEnabled, isPasteEnabled, isSelectAllEnabled, isTextSelected, isUnselectEnabled, paint, paintEmptyRows, paste, prepareRenderer, printContents, printContents, saveToFile, saveToFile, setColumnRenderer, setColumnWidth, setColumnWidth, setCopyColumnHeaders, setHeaderBackground, setHeaderForeground, setStripeColors, setStriped, setStripeEmptyRows, setTitle, tableChanged, unselect
 
Methods inherited from class javax.swing.JTable
addColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, changeSelection, clearSelection, columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, configureEnclosingScrollPane, convertColumnIndexToModel, convertColumnIndexToView, convertRowIndexToModel, convertRowIndexToView, createDefaultColumnModel, createDefaultColumnsFromModel, createDefaultDataModel, createDefaultEditors, createDefaultRenderers, createDefaultSelectionModel, createDefaultTableHeader, createScrollPaneForTable, doLayout, editCellAt, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoCreateRowSorter, getAutoResizeMode, getCellEditor, getCellEditor, getCellRect, getCellRenderer, getCellSelectionEnabled, getColumn, getColumnClass, getColumnCount, getColumnModel, getColumnName, getColumnSelectionAllowed, getDefaultEditor, getDefaultRenderer, getDragEnabled, getDropLocation, getDropMode, getEditingColumn, getEditingRow, getEditorComponent, getFillsViewportHeight, getGridColor, getIntercellSpacing, getModel, getPreferredScrollableViewportSize, getPrintable, getRowCount, getRowHeight, getRowHeight, getRowMargin, getRowSelectionAllowed, getRowSorter, getScrollableBlockIncrement, getScrollableUnitIncrement, getSelectedColumn, getSelectedColumnCount, getSelectedColumns, getSelectedRow, getSelectedRowCount, getSelectedRows, getSelectionBackground, getSelectionForeground, getSelectionModel, getShowHorizontalLines, getShowVerticalLines, getSurrendersFocusOnKeystroke, getTableHeader, getToolTipText, getUI, getUIClassID, getUpdateSelectionOnSort, getValueAt, initializeLocalVars, isCellSelected, isColumnSelected, isEditing, isRowSelected, moveColumn, paramString, prepareEditor, print, print, print, print, print, processKeyBinding, removeColumn, removeColumnSelectionInterval, removeEditor, removeNotify, removeRowSelectionInterval, resizeAndRepaint, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setAutoCreateRowSorter, setAutoResizeMode, setCellEditor, setCellSelectionEnabled, setColumnModel, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setDragEnabled, setDropMode, setEditingColumn, setEditingRow, setFillsViewportHeight, setGridColor, setIntercellSpacing, setModel, setPreferredScrollableViewportSize, setRowHeight, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setRowSorter, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setSurrendersFocusOnKeystroke, setTableHeader, setUI, setUpdateSelectionOnSort, setValueAt, sizeColumnsToFit, sizeColumnsToFit, sorterChanged, unconfigureEnclosingScrollPane, updateUI, valueChanged
 
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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, 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, 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
 
Methods inherited from interface edu.northwestern.at.utils.swing.SelectAll
selectAll
 

Field Detail

tableModel

protected LabeledSettingsTableModel tableModel
The table model for the settings.


settingNameCellRenderer

protected LabeledSettingsNameCellRenderer settingNameCellRenderer
The setting name cell renderer.


settingValueCellRenderer

protected LabeledSettingsValueCellRenderer settingValueCellRenderer
The setting value cell renderer.


savedPaneSettings

protected java.util.HashMap savedPaneSettings
Remembers setting value text pane settings.

Entries are of type "LabeledSettingsValueTextPaneSettings" above.


maxWidthNameCol

protected int maxWidthNameCol
Maximum name column width for display.


maxWidthValueCol

protected int maxWidthValueCol
Maximum value column width for display.


settingsMouseListener

java.awt.event.MouseListener settingsMouseListener
Mouse listener for the table.

This passes on mouse clicks to the table cells. This allows links embedded in settings values XTextPanes to activate correctly.


settingsMouseMotionListener

java.awt.event.MouseMotionListener settingsMouseMotionListener
Mouse motion listener for the table.

This passes on mouse moves to the table cells. This allows links embedded in settings values XTextPanes to change the cursor when a link is entered.

Constructor Detail

LabeledSettingsTable

public LabeledSettingsTable(java.lang.String[] columnNames)
Create labeled settings table.

Method Detail

doUpdateColumnWidths

protected void doUpdateColumnWidths(int row)
Updates the maximum column widths.

Parameters:
row - Update maximum columns widths with values in this row.

isCellEditable

public boolean isCellEditable(int row,
                              int column)
Override standard method to disallow cell editing.

Overrides:
isCellEditable in class javax.swing.JTable

updateColumnWidths

protected void updateColumnWidths()
Internal set width. Ensures set done on AWT event thread.


addSetting

public void addSetting(java.lang.String settingName,
                       java.lang.Object settingValue)
Add labeled setting to table.

Parameters:
settingName - Setting name
settingValue - Setting value

addSetting

public void addSetting(java.lang.String settingName,
                       int settingValue)
Add labeled setting to table.

Parameters:
settingName - Setting name
settingValue - Setting value

addSetting

public void addSetting(java.lang.String settingName,
                       long settingValue)
Add labeled setting to table.

Parameters:
settingName - Setting name
settingValue - Setting value

addSetting

public void addSetting(java.lang.String settingName,
                       boolean settingValue)
Add labeled setting to table.

Parameters:
settingName - Setting name
settingValue - Setting value

eraseAllSettings

public void eraseAllSettings()
Erases current settings display.


forwardEventToXTextPane

protected void forwardEventToXTextPane(java.awt.event.MouseEvent e)
Forward a mouse event from the table to the component rendering a table cell.

Parameters:
e - The mouse event.