edu.neu.ccs.gui
Class HTable

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.HTable
All Implemented Interfaces:
Accessible, AlertListener, Displayable, EventListener, ImageObserver, JPTConstants, MalformedDataListener, MenuContainer, Serializable, SwingConstants

public class HTable
extends TablePanel

Class HTable extends TablePanel to constrain the table to be HORIZONTAL, 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
HTable()
          Constructs a default horizontal table panel.
HTable(int cols)
          Constructs a horizontal table panel with the given number of columns.
HTable(int cols, int align)
          Constructs a horizontal table panel with the given number of columns and the given cell alignment.
HTable(int cols, int hgap, int vgap)
          Constructs a horizontal table panel with the given number of columns and the given horizontal and vertical gaps between cells.
HTable(int cols, int hgap, int vgap, int align)
          Constructs a horizontal table panel with the given number of columns, the given horizontal and vertical gaps between cells, and the given cell alignment.
HTable(Object[] contents)
          Constructs a horizontal table panel containing the given objects.
HTable(Object[] contents, int align)
          Constructs a horizontal table panel containing the given objects with the given cell alignment.
HTable(Object[] contents, int hgap, int vgap)
          Constructs a horizontal table panel containing the given objects with the given horizontal and vertical gaps between cells.
HTable(Object[] contents, int hgap, int vgap, int align)
          Constructs a horizontal 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 row set to zero.
 Component addObject(Object object, int col)
          Add the given object to this HTable at the position specified by the col 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 row argument is zero.
 Component getTableEntry(int col)
          Returns the component at the col in the table or null if no such component exists.
 void setOrientation(int orientation)
          Overrides the inherited method to ignore the given orientation and to set the orientation to HORIZONTAL.
 void setRows(int rows)
          Overrides the inherited method to ignore the given rows and set the number of rows to 1.
 
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, setColumns, setHorizontalGap, setLayout, setMinimumColumnWidth, setMinimumRowHeight, setRowAlignment, 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

HTable

public HTable()
Constructs a default horizontal table panel.


HTable

public HTable(int cols)
Constructs a horizontal table panel with the given number of columns.

Parameters:
cols - the number of columns in the table

HTable

public HTable(int cols,
              int align)
Constructs a horizontal table panel with the given number of columns and the given cell alignment.

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

HTable

public HTable(int cols,
              int hgap,
              int vgap)

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

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

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

HTable

public HTable(int cols,
              int hgap,
              int vgap,
              int align)

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

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

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

HTable

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

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

HTable

public HTable(Object[] contents,
              int align)
Constructs a horizontal 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

HTable

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

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

Although the vgap parameter does not affect the internals of the table since there is only one row, 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 rows
vgap - the vertical gap between cols

HTable

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

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

Although the vgap parameter does not affect the internals of the table since there is only one row, 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 rows
vgap - the vertical gap between cols
align - the alignment of a component within a table cell
Method Detail

addObject

public Component addObject(Object object,
                           int col)

Add the given object to this HTable at the position specified by the col 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
col - the column 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 row 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 which must be zero
col - the column in the table
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 row 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 col)
Returns the component at the col in the table or null if no such component exists.

Parameters:
col - the column position of the component

setRows

public void setRows(int rows)
Overrides the inherited method to ignore the given rows and set the number of rows to 1.

Overrides:
setRows in class TablePanel
Parameters:
rows - ignored

setOrientation

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

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