Package org.opensourcephysics.display
Class ArrayTable
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JTable
org.opensourcephysics.display.ArrayTable
- All Implemented Interfaces:
ActionListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,CellEditorListener
,ListSelectionListener
,RowSorterListener
,TableColumnModelListener
,TableModelListener
,Scrollable
A JTable to display int, double and String array values.
Version 1.1 uses a Timer to coalesce Refresh Table events
- Version:
- 1.1
- Author:
- Douglas Brown, Wolfgang Christian
- See Also:
-
Nested Class Summary
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 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
ConstructorsConstructorDescriptionArrayTable
(boolean[] array) Constructor for 1D boolean array.ArrayTable
(boolean[][] array) Constructor for 2D boolean array.ArrayTable
(double[] array) Constructor for 1D double array.ArrayTable
(double[][] array) Constructor for 2D double array.ArrayTable
(int[] array) Constructor for 1D int array.ArrayTable
(int[][] array) Constructor for 2D int array.ArrayTable
(String[] array) Constructor for 1D String array.ArrayTable
(String[][] array) Constructor for 2D String array. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Performs the action for the refresh timer by refreshing the data in the DataTable.boolean
editCellAt
(int row, int column, EventObject e) Starts editing the cell atrow
andcolumn
.getCellRenderer
(int row, int column) Returns the renderer for a cell specified by row and column.getFont()
Gets the default font of this component.protected void
init()
Initializes the table.boolean
Returns true of the table's row and column values are interchanged.void
Refresh the data in the table.void
setBackground
(Color color) Sets the background color of this component.void
setColumnLock
(int columnIndex, boolean locked) Sets the column's locked flag.void
setColumnLocks
(boolean[] locked) Sets the lock flag for multiple columns.void
setColumnNames
(String[] names) Sets columns names.void
setDataBackground
(Color color) Sets the background color of the data cell rendering component.void
setDataForeground
(Color color) Sets the foreground color of the cell rendering component.void
setEditable
(boolean editable) Sets the editable property.void
setFirstColIndex
(int index) Sets the first column's index.void
setFirstRowIndex
(int index) Sets the first row's index.void
Sets the font for this component.void
setForeground
(Color color) Sets the foreground color of this component.void
setNumericFormat
(String str) Sets the default numeric display format for all columnsvoid
setNumericFormat
(String[] str) Sets the numeric display format for each columnvoid
setRefreshDelay
(int delay) Sets theTimer
's initial time delay (in milliseconds) to wait after the timer is started before firing the first event.void
setRowNumberVisible
(boolean vis) Sets the display row number flag.void
setTransposed
(boolean transposed) Sets the transposed property for the array.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, createDefaultDataModel, createDefaultEditors, createDefaultRenderers, createDefaultSelectionModel, createDefaultTableHeader, createScrollPaneForTable, doLayout, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoCreateRowSorter, getAutoResizeMode, getCellEditor, 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, setModel, 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, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, 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 Details
-
ArrayTable
public ArrayTable(int[] array) Constructor for 1D int array.- Parameters:
array
- the array
-
ArrayTable
public ArrayTable(int[][] array) Constructor for 2D int array.- Parameters:
array
- the array
-
ArrayTable
public ArrayTable(double[] array) Constructor for 1D double array.- Parameters:
array
- the array
-
ArrayTable
public ArrayTable(double[][] array) Constructor for 2D double array.- Parameters:
array
- the array
-
ArrayTable
Constructor for 1D String array.- Parameters:
array
- the array
-
ArrayTable
Constructor for 2D String array.- Parameters:
array
- the array
-
ArrayTable
public ArrayTable(boolean[] array) Constructor for 1D boolean array.- Parameters:
array
- the array
-
ArrayTable
public ArrayTable(boolean[][] array) Constructor for 2D boolean array.- Parameters:
array
- the array
-
-
Method Details
-
init
protected void init()Initializes the table. -
editCellAt
Starts editing the cell atrow
andcolumn
. Overrides JTable method.- Overrides:
editCellAt
in classJTable
- Parameters:
row
- the row to be editedcolumn
- the column to be editede
- ignored- Returns:
- false if the cell cannot be edited or the indices are invalid
-
actionPerformed
Performs the action for the refresh timer by refreshing the data in the DataTable.- Specified by:
actionPerformed
in interfaceActionListener
- Parameters:
evt
-
-
setRefreshDelay
public void setRefreshDelay(int delay) Sets theTimer
's initial time delay (in milliseconds) to wait after the timer is started before firing the first event.- Parameters:
delay
-
-
refreshTable
public void refreshTable()Refresh the data in the table. -
setNumericFormat
Sets the default numeric display format for all columns- Parameters:
defaultFormat
-
-
setNumericFormat
Sets the numeric display format for each column- Parameters:
defaultFormat
-
-
setFirstRowIndex
public void setFirstRowIndex(int index) Sets the first row's index.- Parameters:
index
-
-
setFirstColIndex
public void setFirstColIndex(int index) Sets the first column's index.- Parameters:
index
-
-
setRowNumberVisible
public void setRowNumberVisible(boolean vis) Sets the display row number flag. Table displays row number.- Parameters:
vis
-true<\code> if table display row number
-
setEditable
public void setEditable(boolean editable) Sets the editable property.- Parameters:
editable
- true allows editing of the cell values that are not locked.
-
isTransposed
public boolean isTransposed()Returns true of the table's row and column values are interchanged.- Returns:
-
setTransposed
public void setTransposed(boolean transposed) Sets the transposed property for the array. A transposed array switches its row and column values in the display.- Parameters:
transposed
-
-
setColumnNames
Sets columns names.- Parameters:
names
-
-
setColumnLock
public void setColumnLock(int columnIndex, boolean locked) Sets the column's locked flag.- Parameters:
column
- intlocked
- boolean
-
setColumnLocks
public void setColumnLocks(boolean[] locked) Sets the lock flag for multiple columns. Previously set locks are cleared.- Parameters:
locked
- boolean array
-
getFont
Gets the default font of this component.- Specified by:
getFont
in interfaceMenuContainer
- Overrides:
getFont
in classComponent
- Returns:
- this component's font
-
setFont
Sets the font for this component.- Overrides:
setFont
in classJComponent
- Parameters:
font
- the desiredFont
for this component- See Also:
-
setForeground
Sets the foreground color of this component. It is up to the look and feel to honor this property, some may choose to ignore it.- Overrides:
setForeground
in classJComponent
- Parameters:
color
- the desired foregroundColor
- See Also:
-
setDataForeground
Sets the foreground color of the cell rendering component. It is up to the look and feel to honor this property, some may choose to ignore it.- Parameters:
color
- the desired foregroundColor
-
setBackground
Sets the background color of this component. It is up to the look and feel to honor this property, some may choose to ignore it.- Overrides:
setBackground
in classJComponent
- Parameters:
color
- the desired backgroundColor
- See Also:
-
setDataBackground
Sets the background color of the data cell rendering component. It is up to the look and feel to honor this property, some may choose to ignore it.- Parameters:
color
- the desired backgroundColor
-
getCellRenderer
Returns the renderer for a cell specified by row and column.- Overrides:
getCellRenderer
in classJTable
- Parameters:
row
- the row numbercolumn
- the column number- Returns:
- the cell renderer
-