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:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
public class GTableWidget<T> extends javax.swing.JPanel
A GUI that provides a filterable table. You are required to provide the method names ofT
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
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
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
-
-
Constructor Summary
Constructors Constructor Description GTableWidget(java.lang.String modelName, java.lang.Class<T> tClass, java.lang.String... methodNames)
GTableWidget(java.lang.String modelName, java.lang.Class<T> tClass, java.util.List<java.lang.String> methodNames)
GTableWidget(java.lang.String modelName, java.lang.reflect.Method... methods)
GTableWidget(java.lang.String modelName, java.util.List<java.lang.reflect.Method> methodNames)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addColumn(AbstractDynamicTableColumn<T,?,java.lang.Object> column)
void
addColumn(AbstractDynamicTableColumn<T,?,java.lang.Object> column, int index)
void
addSelectionListener(ObjectSelectedListener<T> l)
void
dispose()
void
focusFilter()
java.util.List<T>
getData()
T
getItemAt(java.awt.Point point)
AnyObjectTableModel<T>
getModel()
int
getRowCount()
T
getRowObject(int row)
int
getSelectedRow()
int
getSelectedRowCount()
java.util.List<T>
getSelectedRowObjects()
GTable
getTable()
boolean
isRowSelected(int row)
protected void
processMouseClicked(java.awt.event.MouseEvent e)
void
removeSelectionListener(ObjectSelectedListener<T> l)
int
rowAtPoint(java.awt.Point point)
void
selectRow(int row)
void
selectRowObject(T rowObject)
void
setColumnPreferredWidths(int... widths)
Sets the column preferred widths.void
setData(java.util.Collection<T> data)
void
setData(java.util.List<T> data)
void
setFilterText(java.lang.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
-
-
-
-
Constructor Detail
-
GTableWidget
public GTableWidget(java.lang.String modelName, java.lang.Class<T> tClass, java.lang.String... methodNames)
-
GTableWidget
public GTableWidget(java.lang.String modelName, java.lang.reflect.Method... methods)
-
GTableWidget
public GTableWidget(java.lang.String modelName, java.lang.Class<T> tClass, java.util.List<java.lang.String> methodNames)
-
GTableWidget
public GTableWidget(java.lang.String modelName, java.util.List<java.lang.reflect.Method> methodNames)
-
-
Method Detail
-
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(java.awt.event.MouseEvent e)
-
setItemPickListener
public void setItemPickListener(TableItemPickedListener<T> listener)
-
getData
public java.util.List<T> getData()
-
setData
public void setData(java.util.List<T> data)
-
setData
public void setData(java.util.Collection<T> data)
-
getSelectedRowObjects
public java.util.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(java.awt.Point point)
-
getModel
public AnyObjectTableModel<T> getModel()
-
addColumn
public void addColumn(AbstractDynamicTableColumn<T,?,java.lang.Object> column)
-
addColumn
public void addColumn(AbstractDynamicTableColumn<T,?,java.lang.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(java.awt.Point point)
-
isRowSelected
public boolean isRowSelected(int row)
-
getTable
public GTable getTable()
-
focusFilter
public void focusFilter()
-
setFilterText
public void setFilterText(java.lang.String text)
-
dispose
public void dispose()
-
-