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.PrintModeNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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, tableHeaderFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields 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 TypeMethodDescriptionvoidPerforms the action for the refresh timer by refreshing the data in the DataTable.booleaneditCellAt(int row, int column, EventObject e) Starts editing the cell atrowandcolumn.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 voidinit()Initializes the table.booleanReturns true of the table's row and column values are interchanged.voidRefresh the data in the table.voidsetBackground(Color color) Sets the background color of this component.voidsetColumnLock(int columnIndex, boolean locked) Sets the column's locked flag.voidsetColumnLocks(boolean[] locked) Sets the lock flag for multiple columns.voidsetColumnNames(String[] names) Sets columns names.voidsetDataBackground(Color color) Sets the background color of the data cell rendering component.voidsetDataForeground(Color color) Sets the foreground color of the cell rendering component.voidsetEditable(boolean editable) Sets the editable property.voidsetFirstColIndex(int index) Sets the first column's index.voidsetFirstRowIndex(int index) Sets the first row's index.voidSets the font for this component.voidsetForeground(Color color) Sets the foreground color of this component.voidsetNumericFormat(String str) Sets the default numeric display format for all columnsvoidsetNumericFormat(String[] str) Sets the numeric display format for each columnvoidsetRefreshDelay(int delay) Sets theTimer's initial time delay (in milliseconds) to wait after the timer is started before firing the first event.voidsetRowNumberVisible(boolean vis) Sets the display row number flag.voidsetTransposed(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, valueChangedMethods 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, updateMethods 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, validateTreeMethods 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 atrowandcolumn. Overrides JTable method.- Overrides:
editCellAtin 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:
actionPerformedin 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:
getFontin interfaceMenuContainer- Overrides:
getFontin classComponent- Returns:
- this component's font
-
setFont
Sets the font for this component.- Overrides:
setFontin classJComponent- Parameters:
font- the desiredFontfor 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:
setForegroundin 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:
setBackgroundin 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:
getCellRendererin classJTable- Parameters:
row- the row numbercolumn- the column number- Returns:
- the cell renderer
-