edu.neu.ccs.gui
Class VTable

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byedu.neu.ccs.gui.DisplayPanel
                      extended byedu.neu.ccs.gui.TablePanel
                          extended byedu.neu.ccs.gui.VTable
All Implemented Interfaces:
Accessible, AlertListener, Displayable, EventListener, ImageObserver, JPTConstants, MalformedDataListener, MenuContainer, Serializable, SwingConstants

public class VTable
extends TablePanel

Class VTable extends TablePanel to constrain the table to be VERTICAL, that is, to have just one column.

The ACM Java Task Force introduced classes TableLayout and TablePanel that resemble the corresponding JPT classes to a certain degree. The ACM Java Task Force also introduced simple derived classes of TablePanel called HPanel and VPanel to specialize for the situation of one row or one column. Since this seemed to be a good idea, we introduced similar derived classes into JPT as of 2.5.0 but used the names HTable and VTable. The implementation of the JPT classes is independent of that of the ACM Java Task Force classes.

Since:
2.5.0
Version:
2.5.0
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  String errormessage
          The IllegalArgumentException error message.
 
Fields inherited from class edu.neu.ccs.gui.TablePanel
DEFAULT_ALIGNMENT, DEFAULT_ORIENTATION, tg
 
Fields inherited from class edu.neu.ccs.gui.DisplayPanel
background, codec, CODEC
 
Fields inherited from class javax.swing.JPanel
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface edu.neu.ccs.gui.Displayable
DEFAULT_VIEW_STATE, VIEW_STATE
 
Fields inherited from interface edu.neu.ccs.util.JPTConstants
ABOVE, ALIGNMENT, BELOW, BOTTOM_LEFT, BOTTOM_RIGHT, DEFAULT, FONT, INPUT_PROPERTIES, MANDATORY, OPTIONAL, ORIENTATION, TOP_LEFT, TOP_RIGHT, VALUE
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
VTable()
          Constructs a default vertical table panel.
VTable(int rows)
          Constructs a vertical table panel with the given number of rows.
VTable(int rows, int align)
          Constructs a vertical table panel with the given number of rows and the given cell alignment.
VTable(int rows, int hgap, int vgap)
          Constructs a vertical table panel with the given number of rows and the given horizontal and vertical gaps between cells.
VTable(int rows, int hgap, int vgap, int align)
          Constructs a vertical table panel with the given number of rows, the given horizontal and vertical gaps between cells, and the given cell alignment.
VTable(Object[] contents)
          Constructs a vertical table panel containing the given objects.
VTable(Object[] contents, int align)
          Constructs a vertical table panel containing the given objects with the given cell alignment.
VTable(Object[] contents, int hgap, int vgap)
          Constructs a vertical table panel containing the given objects with the given horizontal and vertical gaps between cells.
VTable(Object[] contents, int hgap, int vgap, int align)
          Constructs a vertical table panel containing the given objects with the given horizontal and vertical gaps between cells and the given cell alignment.
 
Method Summary
 Component addObject(Object object, CellPosition position)
          Calls the inherited method from TablePanel provided that the position argument is either null or has its col set to zero.
 Component addObject(Object object, int row)
          Add the given object to this VTable at the position specified by the row after applying the transformation of the method makeComponent.
 Component addObject(Object object, int row, int col)
          Calls the inherited method from TablePanel provided that the col argument is zero.
 Component getTableEntry(int row)
          Returns the component at the row in the table or null if no such component exists.
 void setColumns(int cols)
          Overrides the inherited method to ignore the given cols and set the number of columns to 1.
 void setOrientation(int orientation)
          Overrides the inherited method to ignore the given orientation and to set the orientation to VERTICAL.
 
Methods inherited from class edu.neu.ccs.gui.TablePanel
autoEmptyBorder, createCells, getCellAlignment, getCellAlignment, getColumnAlignment, getColumnCount, getComponentTable, getEffectiveCellAlignment, getEffectiveCellAlignment, getHorizontalGap, getMaximumSize, getMinimumColumnWidth, getMinimumRowHeight, getMinimumSize, getOrientation, getPreferredSize, getRowAlignment, getRowCount, getTableAlignment, getTableEntry, getTableEntry, getTableGenerator, getTableLayout, getVerticalGap, isEmptyColumn, isEmptyRow, isValidColumn, isValidRow, removeCells, resetPreferredSize, setAllMinimumColumnWidths, setAllMinimumRowHeights, setCellAlignment, setCellAlignment, setColumnAlignment, setHorizontalGap, setLayout, setMinimumColumnWidth, setMinimumRowHeight, setRowAlignment, setRows, setTableAlignment, setVerticalGap, uniformizeCellHeight, uniformizeCellSize, uniformizeCellWidth
 
Methods inherited from class edu.neu.ccs.gui.DisplayPanel
add, add, add, add, add, addBorder, addObject, addObject, addObject, bevelBorderLowered, bevelBorderLowered, bevelBorderLowered, bevelBorderLowered, bevelBorderLowered, bevelBorderRaised, bevelBorderRaised, bevelBorderRaised, bevelBorderRaised, bevelBorderRaised, compoundBorder, compoundBorder, dataMalformed, emptyBorder, emptyBorder, emptyBorder, endAlert, etchBorderLowered, etchBorderLowered, etchBorderLowered, etchBorderRaised, etchBorderRaised, etchBorderRaised, frame, frame, frame, frame, frame, frame, generalDialog, generalDialog, generalDialog, generalDialog, getCodec, getDefaultViewState, getDefaultViewStates, getDisplayables, getViewState, getViewStates, lineBorder, lineBorder, lineBorder, lineBorder, makeComponent, matteBorder, matteBorder, matteBorder, matteBorder, matteBorder, matteBorder, OKCancelDialog, OKCancelDialog, OKDialog, OKDialog, refreshComponent, remove, remove, removeAll, removeBorder, reset, sandwichBorder, setCodec, setDeepBackground, setDeepBackground, setDefaultViewState, setDefaultViewStates, setEnabled, setViewState, setViewStates, startAlert, titleBorder, titleBorder, titleBorder, titleBorder, titleBorder, titleBorder, titleBorder, titleBorder, uniformizeHeight, uniformizeSize, uniformizeWidth, YesNoCancelDialog, YesNoCancelDialog
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, transferFocusBackward, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

errormessage

private final String errormessage
The IllegalArgumentException error message.

See Also:
Constant Field Values
Constructor Detail

VTable

public VTable()
Constructs a default vertical table panel.


VTable

public VTable(int rows)
Constructs a vertical table panel with the given number of rows.

Parameters:
rows - the number of rows in the table

VTable

public VTable(int rows,
              int align)
Constructs a vertical table panel with the given number of rows and the given cell alignment.

Parameters:
rows - the number of rows in the table
align - the alignment of a component within a table cell

VTable

public VTable(int rows,
              int hgap,
              int vgap)

Constructs a vertical table panel with the given number of rows and the given horizontal and vertical gaps between cells.

Although the hgap parameter does not affect the internals of the table since there is only one column, it is used by the method autoEmptyBorder that is inherited from TablePanel.

Parameters:
rows - the number of rows in the table
hgap - the horizontal gap between columns
vgap - the vertical gap between rows

VTable

public VTable(int rows,
              int hgap,
              int vgap,
              int align)

Constructs a vertical table panel with the given number of rows, the given horizontal and vertical gaps between cells, and the given cell alignment.

Although the hgap parameter does not affect the internals of the table since there is only one column, it is used by the method autoEmptyBorder that is inherited from TablePanel.

Parameters:
rows - the number of rows in the table
hgap - the horizontal gap between columns
vgap - the vertical gap between rows
align - the alignment of a component within a table cell

VTable

public VTable(Object[] contents)
Constructs a vertical table panel containing the given objects.

Parameters:
contents - the array of contents to be used to fill the table

VTable

public VTable(Object[] contents,
              int align)
Constructs a vertical table panel containing the given objects with the given cell alignment.

Parameters:
contents - the array of contents to be used to fill the table
align - the alignment of a component within a table cell

VTable

public VTable(Object[] contents,
              int hgap,
              int vgap)

Constructs a vertical table panel containing the given objects with the given horizontal and vertical gaps between cells.

Although the hgap parameter does not affect the internals of the table since there is only one column, it is used by the method autoEmptyBorder that is inherited from TablePanel.

Parameters:
contents - the array of contents to be used to fill the table
hgap - the horizontal gap between columns
vgap - the vertical gap between rows

VTable

public VTable(Object[] contents,
              int hgap,
              int vgap,
              int align)

Constructs a vertical table panel containing the given objects with the given horizontal and vertical gaps between cells and the given cell alignment.

Although the hgap parameter does not affect the internals of the table since there is only one column, it is used by the method autoEmptyBorder that is inherited from TablePanel.

Parameters:
contents - the array of contents to be used to fill the table
hgap - the horizontal gap between columns
vgap - the vertical gap between rows
align - the alignment of a component within a table cell
Method Detail

addObject

public Component addObject(Object object,
                           int row)

Add the given object to this VTable at the position specified by the row after applying the transformation of the method makeComponent.

If a component is already installed at the given position, then this component is removed.

Overrides:
addObject in class DisplayPanel
Parameters:
object - the object to be transformed and added to the table
row - the row in the table
Returns:
the component obtained by transforming the object

addObject

public Component addObject(Object object,
                           int row,
                           int col)

Calls the inherited method from TablePanel provided that the col argument is zero.

Otherwise throws IllegalArgumentException.

Overrides:
addObject in class TablePanel
Parameters:
object - the object to be transformed and added to the table
row - the row in the table
col - the column in the table which must be zero
Returns:
the component obtained by transforming the object

addObject

public Component addObject(Object object,
                           CellPosition position)

Calls the inherited method from TablePanel provided that the position argument is either null or has its col set to zero.

Otherwise throws IllegalArgumentException.

Overrides:
addObject in class TablePanel
Parameters:
object - the object to be transformed and added to the table
position - the position in the table
Returns:
the component obtained by transforming the object

getTableEntry

public Component getTableEntry(int row)
Returns the component at the row in the table or null if no such component exists.

Parameters:
row - the row position of the component

setColumns

public void setColumns(int cols)
Overrides the inherited method to ignore the given cols and set the number of columns to 1.

Overrides:
setColumns in class TablePanel
Parameters:
cols - ignored

setOrientation

public void setOrientation(int orientation)
Overrides the inherited method to ignore the given orientation and to set the orientation to VERTICAL.

Overrides:
setOrientation in class TablePanel
Parameters:
orientation - ignored
See Also:
SwingConstants.HORIZONTAL, SwingConstants.VERTICAL