Package adams.gui.visualization.report
Class ReportFactory.Table<R extends ReportProvider<?,?>>
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JTable
-
- adams.gui.core.BaseTable
-
- adams.gui.core.SortableAndSearchableTable
-
- adams.gui.visualization.report.ReportFactory.Table<R>
-
- All Implemented Interfaces:
SpreadSheetSupporter
,SearchableTable
,SortableTable
,TableWithColumnFilters
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,CellEditorListener
,ListSelectionListener
,RowSorterListener
,TableColumnModelListener
,TableModelListener
,Scrollable
- Direct Known Subclasses:
InstanceReportFactory.Table
,SpreadSheetRowReportFactory.Table
- Enclosing class:
- ReportFactory
public static class ReportFactory.Table<R extends ReportProvider<?,?>> extends SortableAndSearchableTable
A specialized table for displaying a Report.- Version:
- $Revision$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adams.gui.core.BaseTable
BaseTable.ColumnWidthApproach
-
Nested classes/interfaces inherited from class javax.swing.JTable
JTable.AccessibleJTable, JTable.DropLocation, JTable.PrintMode
-
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 Modifier and Type Field Description protected AbstractDatabaseConnection
m_DatabaseConnection
the database connection.protected DataContainerPanel
m_DataContainerPanel
an optional spectrum panel that owns the data.protected AbstractReportFileChooser
m_FileChooser
the file chooser for saving the report.protected String[]
m_PopupActions
the structure of the popup menu.protected Set<ChangeListener>
m_ReportChangeListeners
the change listeners.-
Fields inherited from class adams.gui.core.SortableAndSearchableTable
KEY_COLWIDTH, KEY_SEARCHREGEXP, KEY_SEARCHSTRING, KEY_SORTCASESENSITIVE, KEY_SORTCOL, KEY_SORTORDER, m_Model, m_SortNewTableModel
-
Fields inherited from class adams.gui.core.BaseTable
m_CellPopupMenuListeners, m_ColumnWidthApproach, m_HeaderPopupMenuListeners, m_MaxColumnOptimalColumnWidthCalc, m_MaxColumnOptimalHeaderWidthCalc, m_RemoveItemsListeners, m_ShowSimpleCellPopupMenu, m_ShowSimpleHeaderPopupMenu, m_SimpleCellPopupMenuListener, m_SimpleHeaderPopupMenuListener, m_TableHelper, m_TooManyColumnsDefaultWidth
-
Fields inherited from class javax.swing.JTable
AUTO_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, tableHeader
-
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 Table()
Initializes the table.Table(Report report)
Initializes the table.Table(TableModel model)
Initializes the table.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addReportChangeListener(ChangeListener l)
Adds the listener to listen for changes to the report.protected TableModel
createDefaultDataModel()
Creates an empty default model.DataContainerPanel
getDataContainerPanel()
Returns the currently set spectrum panel.protected String[]
getDefaultPopupActions()
Returns the default actions for the popup menu.AbstractField
getFieldAt(int row)
Returns the field at the given location.int
getNumDecimals()
Returns the number of decimals used to display numeric values.String[]
getPopupActions()
Returns the actions used for the popup menu.protected BasePopupMenu
getPopupMenu(int[] rows)
Returns a popup menu if appropriate.Report
getReport()
Returns the underlying report.AbstractReportFileChooser
getReportFileChooser()
Returns the file chooser in use.ReportProvider<?,?>
getReportProvider()
Returns the provider for accessing the reports in the database.Report
getSelectionAsReport()
Returns the selected rows as new report.protected void
initGUI()
Initializes the table.protected boolean
initialSortCaseSensitive()
Returns whether the initial sort is case-sensitive.protected boolean
initialSortNewTableModel()
Returns the initial setting of whether to sort new models.protected BaseTable.ColumnWidthApproach
initialUseOptimalColumnWidths()
Returns the initial setting of whether to set optimal column widths.protected AbstractReportFileChooser
newReportFileChooser()
Returns the file chooser to use for exporting the reports.void
notifyReportChangeListeners()
Notifies all the change listeners.void
removeReportChangeListener(ChangeListener l)
Removes the listener from listening for changes to the report.void
setDataContainerPanel(DataContainerPanel value)
Sets the underlying spectrum panel.void
setNumDecimals(int value)
Sets the number of decimals to display for numeric values.void
setPopupActions(String[] value)
Sets the actions to use for the popup menu.void
setReport(Report value)
Sets the report to display.-
Methods inherited from class adams.gui.core.SortableAndSearchableTable
backupModelSettings, finishInit, getActualRow, getActualRowCount, getColumnFilter, getDisplayRow, getSeachString, getSortColumn, getSortNewTableModel, getTableModelClass, getUnsortedModel, isAnyColumnFiltered, isAscending, isCaseSensitive, isColumnFiltered, isColumnFilterRegExp, isRegExpSearch, isSorted, removeAllColumnFilters, removeColumnFilter, restoreModelSettings, search, setCaseSensitive, setColumnFilter, setModel, setSortNewTableModel, setUnsortedModel, setUnsortedModel, sort, sort
-
Methods inherited from class adams.gui.core.BaseTable
adaptiveOptimalColumnWidth, addCellPopupMenuListener, addHeaderPopupMenuListener, addRemoveItemsListener, copyToClipboard, createSimpleCellPopupMenu, createSimpleHeaderPopupMenu, enterColumnWidth, getColumnWidthApproach, getColumnWidths, getFileChooser, getMaxColumnOptimalColumnWidthCalc, getMaxColumnOptimalHeaderWidthCalc, getSelectedRow, getSelectedRows, getShowSimpleCellPopupMenu, getShowSimpleHeaderPopupMenu, getTableHelper, getTooManyColumnsDefaultWidth, invertRowSelection, invertSelection, modelToSpreadSheet, notifyCellPopupMenuListener, notifyHeaderPopupMenuListener, notifyRemoveItemsListeners, removeCellPopupMenuListener, removeHeaderPopupMenuListener, removeRemoveItemsListener, saveAs, scrollColumnToVisible, scrollRowToVisible, selectAll, selectionRowToModelRow, selectNone, setColumnWidth, setColumnWidth, setColumnWidthApproach, setColumnWidths, setColumnWidths, setColumnWidths, setMaxColumnOptimalColumnWidthCalc, setMaxColumnOptimalHeaderWidthCalc, setOptimalColumnWidth, setOptimalColumnWidth, setOptimalColumnWidthBounded, setOptimalColumnWidthBounded, setOptimalColumnWidths, setOptimalColumnWidthsBounded, setOptimalHeaderWidth, setOptimalHeaderWidth, setSelectedRow, setSelectedRows, setShowSimpleCellPopupMenu, setShowSimpleHeaderPopupMenu, setShowSimplePopupMenus, setTooManyColumnsDefaultWidth, showCell, showSimpleCellPopupMenu, showSimpleHeaderPopupMenu, toSpreadSheet, toSpreadSheet, toSpreadSheet
-
Methods inherited from class javax.swing.JTable
addColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, changeSelection, clearSelection, columnAdded, columnAtPoint, columnMarginChanged, columnMoved, columnRemoved, columnSelectionChanged, configureEnclosingScrollPane, convertColumnIndexToModel, convertColumnIndexToView, convertRowIndexToModel, convertRowIndexToView, createDefaultColumnModel, createDefaultColumnsFromModel, createDefaultEditors, createDefaultRenderers, createDefaultSelectionModel, createDefaultTableHeader, createScrollPaneForTable, doLayout, editCellAt, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoCreateRowSorter, getAutoResizeMode, getCellEditor, getCellEditor, getCellRect, getCellRenderer, 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, getSelectedRowCount, 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, setAutoCreateColumnsFromModel, setAutoCreateRowSorter, setAutoResizeMode, setCellEditor, setCellSelectionEnabled, setColumnModel, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setDragEnabled, setDropMode, setEditingColumn, setEditingRow, setFillsViewportHeight, setGridColor, setIntercellSpacing, setPreferredScrollableViewportSize, setRowHeight, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setRowSorter, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setSurrendersFocusOnKeystroke, setTableHeader, setUI, setUpdateSelectionOnSort, setValueAt, sizeColumnsToFit, sizeColumnsToFit, sorterChanged, tableChanged, unconfigureEnclosingScrollPane, updateUI, valueChanged
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, update
-
Methods inherited from class java.awt.Container
add, 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, 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
-
-
-
-
Field Detail
-
m_DataContainerPanel
protected DataContainerPanel m_DataContainerPanel
an optional spectrum panel that owns the data.
-
m_FileChooser
protected AbstractReportFileChooser m_FileChooser
the file chooser for saving the report.
-
m_DatabaseConnection
protected AbstractDatabaseConnection m_DatabaseConnection
the database connection.
-
m_PopupActions
protected String[] m_PopupActions
the structure of the popup menu.
-
m_ReportChangeListeners
protected Set<ChangeListener> m_ReportChangeListeners
the change listeners.
-
-
Constructor Detail
-
Table
public Table()
Initializes the table.
-
Table
public Table(Report report)
Initializes the table.- Parameters:
report
- the report to base the table on
-
Table
public Table(TableModel model)
Initializes the table.- Parameters:
model
- the model to use
-
-
Method Detail
-
initGUI
protected void initGUI()
Initializes the table.- Overrides:
initGUI
in classSortableAndSearchableTable
-
initialSortCaseSensitive
protected boolean initialSortCaseSensitive()
Returns whether the initial sort is case-sensitive.- Overrides:
initialSortCaseSensitive
in classSortableAndSearchableTable
- Returns:
- true if case-sensitive
-
newReportFileChooser
protected AbstractReportFileChooser newReportFileChooser()
Returns the file chooser to use for exporting the reports.- Returns:
- the filechooser, null if not available
-
getDefaultPopupActions
protected String[] getDefaultPopupActions()
Returns the default actions for the popup menu.- Returns:
- the default actions
-
setPopupActions
public void setPopupActions(String[] value)
Sets the actions to use for the popup menu.- Parameters:
value
- the array of actions- See Also:
AbstractTableAction
-
getPopupActions
public String[] getPopupActions()
Returns the actions used for the popup menu.- Returns:
- the array of actions
- See Also:
AbstractTableAction
-
initialUseOptimalColumnWidths
protected BaseTable.ColumnWidthApproach initialUseOptimalColumnWidths()
Returns the initial setting of whether to set optimal column widths.- Overrides:
initialUseOptimalColumnWidths
in classBaseTable
- Returns:
- adaptive
-
initialSortNewTableModel
protected boolean initialSortNewTableModel()
Returns the initial setting of whether to sort new models.- Overrides:
initialSortNewTableModel
in classSortableAndSearchableTable
- Returns:
- true
-
createDefaultDataModel
protected TableModel createDefaultDataModel()
Creates an empty default model.- Overrides:
createDefaultDataModel
in classJTable
- Returns:
- the model
-
setReport
public void setReport(Report value)
Sets the report to display.- Parameters:
value
- the report to display
-
getReport
public Report getReport()
Returns the underlying report.- Returns:
- the report.
-
getSelectionAsReport
public Report getSelectionAsReport()
Returns the selected rows as new report.- Returns:
- the selected fields
-
setDataContainerPanel
public void setDataContainerPanel(DataContainerPanel value)
Sets the underlying spectrum panel.- Parameters:
value
- the panel
-
getDataContainerPanel
public DataContainerPanel getDataContainerPanel()
Returns the currently set spectrum panel.- Returns:
- the panel, can be null
-
getReportProvider
public ReportProvider<?,?> getReportProvider()
Returns the provider for accessing the reports in the database.
The default implementation returns null.- Returns:
- the provider
-
getReportFileChooser
public AbstractReportFileChooser getReportFileChooser()
Returns the file chooser in use.- Returns:
- the file chooser
-
getFieldAt
public AbstractField getFieldAt(int row)
Returns the field at the given location.- Parameters:
row
- the row to get the field for- Returns:
- the generated field
-
getPopupMenu
protected BasePopupMenu getPopupMenu(int[] rows)
Returns a popup menu if appropriate.- Parameters:
rows
- the row that got the click or the currently selected rows- Returns:
- the menu if appropriate, otherwise null
-
setNumDecimals
public void setNumDecimals(int value)
Sets the number of decimals to display for numeric values.- Parameters:
value
- the number of decimals (use -1 to display all)
-
getNumDecimals
public int getNumDecimals()
Returns the number of decimals used to display numeric values.- Returns:
- the number of decimals
-
addReportChangeListener
public void addReportChangeListener(ChangeListener l)
Adds the listener to listen for changes to the report.- Parameters:
l
- the listener
-
removeReportChangeListener
public void removeReportChangeListener(ChangeListener l)
Removes the listener from listening for changes to the report.- Parameters:
l
- the listener
-
notifyReportChangeListeners
public void notifyReportChangeListeners()
Notifies all the change listeners.
-
-