uk.ac.starlink.table.gui
Class StarJTable
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JTable
uk.ac.starlink.table.gui.StarJTable
- All Implemented Interfaces:
- Accessible, CellEditorListener, EventListener, ImageObserver, ListSelectionListener, MenuContainer, Scrollable, Serializable, TableColumnModelListener, TableModelListener
- public class StarJTable
- extends JTable
Extends the JTable for use with StarTable objects.
This convenience class adapts a JTable and sets its components appropriately
for viewing a StarTable. The main jobs it does are to set its
model to a suitable StarTableModel and make sure the cell renderers
are set up suitably.
It also provides configureColumnWidths(int, int)
and related methods
which sets the column widths according to the contents of the first few
rows of the table.
- See Also:
- Serialized Form
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 |
Constructor Summary |
StarJTable(boolean rowHeader)
Constructs a new StarJTable, optionally with a dummy
first column displaying the row number. |
StarJTable(StarTable startable,
boolean rowHeader)
Construsts a new StarJTable to display a given
StarTable,
optionally with a dummy first column displaying the row number. |
Method Summary |
static void |
configureColumnWidth(JTable table,
int maxpix,
int rowSample,
int icol)
Sets the width of one column to match the width of its contents. |
void |
configureColumnWidths(int maxpix,
int nrows)
Sets the width of each column heuristically from the contents of
the cells headers and cells. |
static void |
configureColumnWidths(JTable table,
int maxpix,
int rowSample)
Utility method provided to set the widths of the columns of a JTable
so that they match the widths of their contents. |
static int |
getCellWidth(JTable jtab,
int irow,
int icol)
Returns the preferred width in pixels of a given cell in a JTable. |
StarTable |
getStarTable()
Return a reference to the StarTable being used. |
boolean |
hasRowHeader()
Indicates whether the first column of this table is a dummy column
displaying the row index. |
void |
setStarTable(StarTable startable,
boolean rowHeader)
Sets this StarJTable up to display a given
StarTable object,
optionally with a dummy first column displaying the row number. |
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, 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, getToolTipText, getUI, getUIClassID, getValueAt, initializeLocalVars, isCellEditable, isCellSelected, isColumnSelected, isEditing, isRowSelected, moveColumn, paramString, prepareEditor, prepareRenderer, processKeyBinding, removeColumn, removeColumnSelectionInterval, removeEditor, removeNotify, removeRowSelectionInterval, resizeAndRepaint, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setAutoResizeMode, 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, 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, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update |
Methods inherited from class java.awt.Container |
add, add, add, add, add, addContainerListener, addImpl, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, 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 |
StarJTable
public StarJTable(boolean rowHeader)
- Constructs a new StarJTable, optionally with a dummy
first column displaying the row number.
- Parameters:
rowHeader
- whether column 0 should contain row indices
StarJTable
public StarJTable(StarTable startable,
boolean rowHeader)
- Construsts a new StarJTable to display a given
StarTable,
optionally with a dummy first column displaying the row number.
- Parameters:
startable
- the StarTable to displayrowHeader
- whether column 0 should contain row indices
- Throws:
IllegalArgumentException
- if startable.isRandom
returns false- See Also:
Tables.randomTable(uk.ac.starlink.table.StarTable)
hasRowHeader
public boolean hasRowHeader()
- Indicates whether the first column of this table is a dummy column
displaying the row index.
- Returns:
- true iff column 0 displays row index
setStarTable
public void setStarTable(StarTable startable,
boolean rowHeader)
- Sets this StarJTable up to display a given
StarTable object,
optionally with a dummy first column displaying the row number.
This table's model will be set to a
StarTableModel
,
and the colum model will be set to one of which all the columns
are StarTableColumn
s.
- Parameters:
startable
- the StarTable to displayrowHeader
- whether column 0 should contain row indices
- Throws:
IllegalArgumentException
- if startable.isRandom
returns false- See Also:
Tables.randomTable(uk.ac.starlink.table.StarTable)
getStarTable
public StarTable getStarTable()
- Return a reference to the
StarTable
being used.
- Returns:
- reference to the
StarTable
, null if none has been set.
configureColumnWidths
public void configureColumnWidths(int maxpix,
int nrows)
- Sets the width of each column heuristically from the contents of
the cells headers and cells. Should be called after any
default renderers have been set.
- Parameters:
maxpix
- the maximum column width allowed (pixels)nrows
- the number of rows of the tables to survey
for working out column widths. If a number greater
than the number of rows in the table is given,
all rows will be surveyed
configureColumnWidths
public static void configureColumnWidths(JTable table,
int maxpix,
int rowSample)
- Utility method provided to set the widths of the columns of a JTable
so that they match the widths of their contents. A heuristic
method is used; the widths of the headers and of the first few
rows is got, and the width set to this value.
This method uses the cell renderers and table contents currently
in force, so should be called after internal configuration.
- Parameters:
table
- the JTable whose widths are to be setmaxpix
- the maximum column width allowed (pixels)rowSample
- the number of rows of the tables to survey
for working out column widths. If a number greater
than the number of rows in the table is given,
all rows will be surveyed
configureColumnWidth
public static void configureColumnWidth(JTable table,
int maxpix,
int rowSample,
int icol)
- Sets the width of one column to match the width of its contents.
A heuristic * method is used; the widths of the headers and of
the first few rows is got, and the width set to this value.
This method uses the cell renderers and table contents currently
in force, so should be called after internal configuration.
- Parameters:
table
- the JTable whose widths are to be setmaxpix
- the maximum column width allowed (pixels)rowSample
- the number of rows of the tables to survey
for working out column widths. If a number greater
than the number of rows in the table is given,
all rows will be surveyedicol
- the index of the column to be configured
getCellWidth
public static int getCellWidth(JTable jtab,
int irow,
int icol)
- Returns the preferred width in pixels of a given cell in a JTable.
The table should be configured with its proper renderers and model
before this is called. It is assumed that focus and selection
does not affect the size.
- Parameters:
jtab
- the table