T - - tipo do objeto que corresponde as linhas da tabela.public class ConfigurableTable<T>
extends tecgraf.javautils.gui.table.SortableTable
TabbedPane4Tables, Panel4Tables e
ConfigurableTableFactory.
Essa tabela usa o modelo de tabelas definido pela classe
ConfigurableTableModel. Para adiconarmos/modificarmos linhas desta
tabela basta passarmos uma lista de objetos do tipo T.
Essa tabela também permite definir um filtro para suas linhas. Para isso, o
filtro deve implementar a interface IFilter.
Para criar uma tabela configurável é necessário uma lista de colunas que
implementam a interface IConfigurableColumn, uma lista de objetos do
tipo T e, opcionalmente, um filtro IFilter. Veja abaixo:
List<IConfigurableColumn<Person>> columns
= new ArrayList<IConfigurableColumn<Person>>();
...
List<Person> rows = new ArrayList<Person>();
rows.add(new Person(...));
rows.add(new Person(...));
IFilter<Person> filter = new PersonSingleFilter<Person>();
ConfigurableTable<Person> table
= new ConfigurableTable<Person>(columns, filter, rows);
Para atualizar as linhas dessa tabela basta fazermos:
table.setRows(newRows);
table.updateRows();
Para atualizar as linhas após setar um filtro basta fazermos:
table.setFilter(newFilter);
table.updateRows();
Esta tabela também permite que o usuário defina, através de um dialogo da
tabela, qual as colunas que ele deseja ver. Para isso, basta clicar com o
botão direito sobre a tabela.IFilter ConfigurableTableFactory,
Serialized FormJTable.AccessibleJTable, JTable.DropLocation, JTable.PrintModeJComponent.AccessibleJComponentContainer.AccessibleAWTContainerComponent.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategyAUTO_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, tableHeaderlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH| Constructor and Description |
|---|
ConfigurableTable(String id,
List<IConfigurableColumn<T>> columns,
tecgraf.javautils.core.filter.IFilter<T> filter)
Construtor padrão.
|
ConfigurableTable(String id,
List<IConfigurableColumn<T>> columns,
tecgraf.javautils.core.filter.IFilter<T> filter,
List<T> rows)
Construtor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addColumnVisibilityListener(ColumnVisibilityListener listener)
Adiciona um ouvinte que é acionado sempre que a visibilidade de alguma
coluna for alterada.
|
protected void |
addHeaderAction()
Adiciona uma ação no header da tabela.
|
List<JCheckBoxMenuItem> |
createColumnsCheckBoxes()
Cria uma lista de checkboxes que permite o usuário trocar a visibilidade de
cada coluna.
|
boolean |
equals(Object obj) |
TableCellEditor |
getCellEditor(int row,
int column) |
TableCellRenderer |
getCellRenderer(int row,
int column) |
List<ColumnState> |
getColumnsState()
Lista com os estados de todas as colunas.
|
List<ColumnVisibilityListener> |
getColumnVisibilityListeners()
Obtém a lista com todos os ouvintes de visibilidade de colunas.
|
tecgraf.javautils.core.filter.IFilter<T> |
getFilter()
Obtém o filtro da tabela.
|
String |
getId()
Identificador único da tabela.
|
List<T> |
getRows()
Obtém a lista de objetos que corresponde as linhas da tabela.
|
List<T> |
getSelectedObjects()
Obtem a lista de objetos selecionados.
|
int |
getTotalColumnCount()
Número total de colunas (visíveis e ocultas).
|
int |
hashCode() |
void |
setColumnsState(List<ColumnState> columnsState)
Define os estados de todas as colunas.
|
void |
setFilter(tecgraf.javautils.core.filter.IFilter<T> filter)
Altera o filtro usado na tabela.
|
void |
setModel(TableModel tableModel)
Este método foi sobrescrito para não permitir que o usuário modifique o
modelo de tabelas.
|
void |
setRowToKey(RowToKey<T> rowToKey)
Define o objeto encarregado de obter uma chave (String) de uma linha
genérica.
|
String |
toString() |
void |
updateColumns()
Atualiza a visualização das colunas da tabela.
|
void |
updateRows()
Atualiza a visualização das linhas da tabela.
|
void |
updateRows(List<T> newRows)
Atualiza a visualização das linhas da tabela.
|
addSortableTableListener, adjustColumnWidth, adjustColumnWidth, adjustRowHeight, adjustSize, convertRowIndexToModel, convertRowIndexToView, createSearchPanel, createSearchPanel, doLayout, getComparator, getCurrentSortOrder, getNoSortStateEnabled, getPreferredCellHeight, getPreferredCellWidth, getPreferredHeaderWidth, getSortedColIndexView, getToolTipEnabled, removeSortableTableListener, setComparator, setComparators, setNoSortStateEnabled, setPreferredColumnWidthToFit, setRemainingSpaceToColumns, setRowFilter, setRowSorter, setSortable, setToolTipEnabled, setUseDisabledLook, sort, sort, sort, sorterChanged, tableSortedaddColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, changeSelection, clearSelection, columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, configureEnclosingScrollPane, convertColumnIndexToModel, convertColumnIndexToView, createDefaultColumnModel, createDefaultColumnsFromModel, createDefaultDataModel, createDefaultEditors, createDefaultRenderers, createDefaultSelectionModel, createDefaultTableHeader, createScrollPaneForTable, editCellAt, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoCreateRowSorter, getAutoResizeMode, getCellEditor, getCellRect, getCellSelectionEnabled, getColumn, getColumnClass, getColumnCount, getColumnModel, getColumnName, getColumnSelectionAllowed, getDefaultEditor, getDefaultRenderer, getDragEnabled, getDropLocation, getDropMode, getEditingColumn, getEditingRow, getEditorComponent, getFillsViewportHeight, getGridColor, getIntercellSpacing, getModel, getPreferredScrollableViewportSize, getPrintable, getRowCount, getRowHeight, getRowHeight, getRowMargin, getRowSelectionAllowed, getRowSorter, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedColumn, getSelectedColumnCount, getSelectedColumns, getSelectedRow, getSelectedRowCount, getSelectedRows, getSelectionBackground, getSelectionForeground, getSelectionModel, getShowHorizontalLines, getShowVerticalLines, getSurrendersFocusOnKeystroke, getTableHeader, getToolTipText, getUI, getUIClassID, getUpdateSelectionOnSort, getValueAt, initializeLocalVars, isCellEditable, isCellSelected, isColumnSelected, isEditing, isRowSelected, moveColumn, paramString, prepareEditor, prepareRenderer, print, print, print, print, print, processKeyBinding, removeColumn, removeColumnSelectionInterval, removeEditor, removeNotify, removeRowSelectionInterval, resizeAndRepaint, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setAutoCreateRowSorter, setAutoResizeMode, setCellEditor, setCellSelectionEnabled, setColumnModel, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setDragEnabled, setDropMode, setEditingColumn, setEditingRow, setFillsViewportHeight, setGridColor, setIntercellSpacing, setPreferredScrollableViewportSize, setRowHeight, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setSurrendersFocusOnKeystroke, setTableHeader, setUI, setUpdateSelectionOnSort, setValueAt, sizeColumnsToFit, sizeColumnsToFit, tableChanged, unconfigureEnclosingScrollPane, updateUI, valueChangedaddAncestorListener, 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, 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, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, 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, updateadd, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, 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, validateTreeaction, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCyclepublic ConfigurableTable(String id, List<IConfigurableColumn<T>> columns, tecgraf.javautils.core.filter.IFilter<T> filter, List<T> rows)
id - - identificador da tabela.columns - - colunas da tabela.filter - - filtro que é utilizado para filtrar as linhas da tabela.rows - - lista de objetos que definem as linhas da tabela.public ConfigurableTable(String id, List<IConfigurableColumn<T>> columns, tecgraf.javautils.core.filter.IFilter<T> filter)
id - - identificador da tabela.columns - - implementação das colunas da tabela.filter - - filtro das linhas da tabela.public String getId()
public List<T> getRows()
public tecgraf.javautils.core.filter.IFilter<T> getFilter()
public List<T> getSelectedObjects()
public void setFilter(tecgraf.javautils.core.filter.IFilter<T> filter)
filter - o filtro.public void updateRows(List<T> newRows)
newRows - - lista com as novas linhas da tabela.public void updateRows()
public void updateColumns()
public List<ColumnState> getColumnsState()
public void setColumnsState(List<ColumnState> columnsState)
columnsState - - lista com os estados de todas as colunas.public List<JCheckBoxMenuItem> createColumnsCheckBoxes()
public int getTotalColumnCount()
public void addColumnVisibilityListener(ColumnVisibilityListener listener)
listener - - ouvintepublic List<ColumnVisibilityListener> getColumnVisibilityListeners()
public void setRowToKey(RowToKey<T> rowToKey)
rowToKey - - objeto encarregado de obter uma chave (String) de uma
linha genérica.public void setModel(TableModel tableModel)
setModel in class tecgraf.javautils.gui.table.SortableTablepublic TableCellRenderer getCellRenderer(int row, int column)
getCellRenderer in class tecgraf.javautils.gui.table.SortableTablepublic TableCellEditor getCellEditor(int row, int column)
getCellEditor in class JTableprotected void addHeaderAction()
Copyright © 2019. All rights reserved.