Class 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 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

        javax.swing.JPanel.AccessibleJPanel
      • 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

      • 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​(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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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)
      • 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()
      • getItemAt

        public T getItemAt​(java.awt.Point point)
      • 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()