Package ucar.ui.table
Class JTableSorted
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- ucar.ui.table.JTableSorted
-
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
public class JTableSorted extends JPanel
JTableSorted adds sorting functionality to a JTable. It also wraps the JTable in a JScrollPane. Note that JTableSorted is a JPanel, and has-a JTable. It throws ListSelectionEvent events when the selection changes. It throws a UIChangeEvent, property = "sort" just before a sort is going to happen.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description JTableSorted(String[] colName, ArrayList listRT)
Constructor.JTableSorted(String[] columnName, ArrayList listRT, boolean enableColumnManipulation, ThreadSorter threadSorter)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListSelectionListener(ListSelectionListener l)
add ListSelectionEvent listenervoid
addUIChangeListener(UIChangeListener l)
add UIChangeEvent listenerint[]
getModelIndex()
for each column, get the model indexTableRow
getSelected()
Get the currently selected row.int
getSelectedRowIndex()
JTable
getTable()
Get the JTable delegate so you can do nasty things to itvoid
incrSelected(boolean increment)
Increment or decrement the current selection by one row.void
removeListSelectionListener(ListSelectionListener l)
remove ListSelectionEvent listenervoid
removeRow(Object elem)
Remove elem from rowList, update the table.void
removeUIChangeListener(UIChangeListener l)
remove UIChangeEvent listenervoid
setList(ArrayList rowList)
Replace the rowList with this one.void
setSelected(int row)
Set the current selection to this row.void
setSortOK(boolean sortOK)
void
sort(int colNo, boolean reverse)
Sort the rowList: note rowList changed, not a copy of it.-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, 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, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, 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, setLayout, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
JTableSorted
public JTableSorted(String[] colName, ArrayList listRT)
Constructor.- Parameters:
colName
- list of column nameslistRT
- list of rows. This must contain objects that implement the TableRow interface. May be null or empty.
-
JTableSorted
public JTableSorted(String[] columnName, ArrayList listRT, boolean enableColumnManipulation, ThreadSorter threadSorter)
Constructor.- Parameters:
columnName
- list of column nameslistRT
- list of rows. This must contain objects that implement the TableRow interface. May be null or empty.enableColumnManipulation
- allow columns to be added, deleted via click-right popupthreadSorter
- if not null, add a "thread sorting" column
-
-
Method Detail
-
sort
public void sort(int colNo, boolean reverse)
Sort the rowList: note rowList changed, not a copy of it.- Parameters:
colNo
- sort on this columnreverse
- if true, reverse sort
-
setList
public void setList(ArrayList rowList)
Replace the rowList with this one.- Parameters:
rowList
- list of rows
-
removeRow
public void removeRow(Object elem)
Remove elem from rowList, update the table. Searches for match using object identity (==)- Parameters:
elem
- which element
-
addListSelectionListener
public void addListSelectionListener(ListSelectionListener l)
add ListSelectionEvent listener
-
removeListSelectionListener
public void removeListSelectionListener(ListSelectionListener l)
remove ListSelectionEvent listener
-
addUIChangeListener
public void addUIChangeListener(UIChangeListener l)
add UIChangeEvent listener
-
removeUIChangeListener
public void removeUIChangeListener(UIChangeListener l)
remove UIChangeEvent listener
-
getSelectedRowIndex
public int getSelectedRowIndex()
-
setSortOK
public void setSortOK(boolean sortOK)
-
getSelected
public TableRow getSelected()
Get the currently selected row.- Returns:
- selected TableRow
-
setSelected
public void setSelected(int row)
Set the current selection to this row.- Parameters:
row
- index into rowList
-
incrSelected
public void incrSelected(boolean increment)
Increment or decrement the current selection by one row.- Parameters:
increment
- true=increment, false=decrement
-
getTable
public JTable getTable()
Get the JTable delegate so you can do nasty things to it
-
getModelIndex
public int[] getModelIndex()
for each column, get the model index
-
-