Package docking.widgets.table

# Class GTableWidget<T>

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
docking.widgets.table.GTableWidget<T>

Type Parameters:
  `T` - the row object type that will be in the table

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`

public class GTableWidget<T> extends JPanel
A GUI that provides a filterable table. You are required to provide the method names of `T` that should be used to create columns in the table.

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
  `GTableWidget(String modelName, Class<T> tClass, String... methodNames)`
  `GTableWidget(String modelName, Class<T> tClass, List<String> methodNames)`
  `GTableWidget(String modelName, Method... methods)`
  `GTableWidget(String modelName, List<Method> methodNames)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addColumn(AbstractDynamicTableColumn<T,?,Object> column)`
  `void`
  `addColumn(AbstractDynamicTableColumn<T,?,Object> column, int index)`
  `void`
  `addSelectionListener(ObjectSelectedListener<T> l)`
  `void`
  `dispose()`
  `void`
  `focusFilter()`
  `List<T>`
  `getData()`
  `T`
  `getItemAt(Point point)`
  `AnyObjectTableModel<T>`
  `getModel()`
  `int`
  `getRowCount()`
  `T`
  `getRowObject(int row)`
  `int`
  `getSelectedRow()`
  `int`
  `getSelectedRowCount()`
  `List<T>`
  `getSelectedRowObjects()`
  `GTable`
  `getTable()`
  `boolean`
  `isRowSelected(int row)`
  `protected void`
  `processMouseClicked(MouseEvent e)`
  `void`
  `removeSelectionListener(ObjectSelectedListener<T> l)`
  `int`
  `rowAtPoint(Point point)`
  `void`
  `selectRow(int row)`
  `void`
  `selectRowObject(T rowObject)`
  `void`
  `setColumnPreferredWidths(int... widths)`
  Sets the column preferred widths.
  `void`
  `setData(Collection<T> data)`
  `void`
  `setData(List<T> data)`
  `void`
  `setFilterText(String text)`
  `void`
  `setItemPickListener(TableItemPickedListener<T> listener)`
  `void`
  `setSortColumn(int column)`
  `void`
  `setSortColumn(int column, boolean ascending)`

  ### 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`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### GTableWidget

    public GTableWidget(String modelName, Class<T> tClass, String... methodNames)

  - ### GTableWidget

    public GTableWidget(String modelName, Method... methods)

  - ### GTableWidget

    public GTableWidget(String modelName, Class<T> tClass, List<String> methodNames)

  - ### GTableWidget

    public GTableWidget(String modelName, List<Method> methodNames)

- ## Method Details

  - ### setColumnPreferredWidths

    public void setColumnPreferredWidths(int... widths)
    Sets the column preferred widths. If you give less widths then there are columns, then the widths will be applied in order, with the remaining columns going untouched.

    Note: this method needs to be called after building your columns. So, call this after making any calls to `addColumn(AbstractDynamicTableColumn)`.

    WARNING! If you set the widths to a size that is smaller than the total display, then the table model will apply the extra space equally across your columns, resulting in sizes that you did not set. So, the best way to use this method is to set the actual preferred size for your small columns and then set a very large size (400 or so) for your columns that can be any size.

    Parameters:
      `widths` - the widths to apply

  - ### setSortColumn

    public void setSortColumn(int column)

  - ### setSortColumn

    public void setSortColumn(int column, boolean ascending)

  - ### processMouseClicked

    protected void processMouseClicked(MouseEvent e)

  - ### setItemPickListener

    public void setItemPickListener(TableItemPickedListener<T> listener)

  - ### getData

    public List<T> getData()

  - ### setData

    public void setData(List<T> data)

  - ### setData

    public void setData(Collection<T> data)

  - ### getSelectedRowObjects

    public List<T> getSelectedRowObjects()

  - ### getSelectedRowCount

    public int getSelectedRowCount()

  - ### addSelectionListener

    public void addSelectionListener(ObjectSelectedListener<T> l)

  - ### removeSelectionListener

    public void removeSelectionListener(ObjectSelectedListener<T> l)

  - ### getItemAt

    public T getItemAt(Point point)

  - ### getModel

    public AnyObjectTableModel<T> getModel()

  - ### addColumn

    public void addColumn(AbstractDynamicTableColumn<T,?,Object> column)

  - ### addColumn

    public void addColumn(AbstractDynamicTableColumn<T,?,Object> column, int index)

  - ### getRowCount

    public int getRowCount()

  - ### getRowObject

    public T getRowObject(int row)

  - ### selectRow

    public void selectRow(int row)

  - ### selectRowObject

    public void selectRowObject(T rowObject)

  - ### getSelectedRow

    public int getSelectedRow()

  - ### rowAtPoint

    public int rowAtPoint(Point point)

  - ### isRowSelected

    public boolean isRowSelected(int row)

  - ### getTable

    public GTable getTable()

  - ### focusFilter

    public void focusFilter()

  - ### setFilterText

    public void setFilterText(String text)

  - ### dispose

    public void dispose()