public abstract class TableView extends BoxView
Implements View interface for a table, that is composed of an element structure where the child elements of the element this view is responsible for represent rows and the child elements of the row elements are cells. The cell elements can have an arbitrary element structure under them, which will be built with the ViewFactory returned by the getViewFactory method.
TABLE ROW CELL CELL ROW CELL CELL
This is implemented as a hierarchy of boxes, the table itself is a vertical box, the rows are horizontal boxes, and the cells are vertical boxes. The cells are allowed to span multiple columns and rows. By default, the table can be thought of as being formed over a grid (i.e. somewhat like one would find in gridbag layout), where table cells can request to span more than one grid cell. The default horizontal span of table cells will be based upon this grid, but can be changed by reimplementing the requested span of the cell (i.e. table cells can have independant spans if desired).
View| Modifier and Type | Class and Description |
|---|---|
class |
TableView.TableCell
Deprecated.
A table cell can now be any View implementation.
|
class |
TableView.TableRow
View of a row in a row-centric table.
|
BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXISBOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST| Constructor and Description |
|---|
TableView(Element elem)
Constructs a TableView for the given element.
|
| Modifier and Type | Method and Description |
|---|---|
protected SizeRequirements |
calculateMinorAxisRequirements(int axis,
SizeRequirements r)
Calculate the requirements for the minor axis.
|
protected TableView.TableCell |
createTableCell(Element elem)
Deprecated.
Table cells can now be any arbitrary
View implementation and should be produced by the
ViewFactory rather than the table.
|
protected TableView.TableRow |
createTableRow(Element elem)
Creates a new table row.
|
protected void |
forwardUpdate(DocumentEvent.ElementChange ec,
DocumentEvent e,
Shape a,
ViewFactory f)
Forwards the given
DocumentEvent to the child views
that need to be notified of the change to the model. |
protected View |
getViewAtPosition(int pos,
Rectangle a)
Fetches the child view that represents the given position in
the model.
|
protected void |
layoutColumns(int targetSpan,
int[] offsets,
int[] spans,
SizeRequirements[] reqs)
Lays out the columns to fit within the given target span.
|
protected void |
layoutMinorAxis(int targetSpan,
int axis,
int[] offsets,
int[] spans)
Perform layout for the minor axis of the box (i.e.
|
void |
replace(int offset,
int length,
View[] views)
Change the child views.
|
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, flipEastAndWestAtEnds, getAlignment, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layout, layoutChanged, layoutMajorAxis, modelToView, paint, paintChild, preferenceChanged, setAxis, setSize, viewToModelgetBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewCount, getViewIndex, getViewIndexAtPosition, loadChildren, modelToView, setInsets, setParagraphInsets, setParentappend, breakView, changedUpdate, createFragment, forwardUpdateToView, getAttributes, getBreakWeight, getContainer, getDocument, getElement, getEndOffset, getGraphics, getParent, getStartOffset, getToolTipText, getViewFactory, getViewIndex, insert, insertUpdate, isVisible, modelToView, remove, removeAll, removeUpdate, updateChildren, updateLayout, viewToModelpublic TableView(Element elem)
elem - the element that this view is responsible forprotected TableView.TableRow createTableRow(Element elem)
elem - an element@Deprecated protected TableView.TableCell createTableCell(Element elem)
elem - an elementprotected void forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory f)
BoxViewDocumentEvent to the child views
that need to be notified of the change to the model.
If a child changed its requirements and the allocation
was valid prior to forwarding the portion of the box
from the starting child to the end of the box will
be repainted.forwardUpdate in class BoxViewec - changes to the element this view is responsible
for (may be null if there were no changes)e - the change information from the associated documenta - the current allocation of the viewf - the factory to use to rebuild if the view has childrenView.insertUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory),
View.removeUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory),
View.changedUpdate(javax.swing.event.DocumentEvent, java.awt.Shape, javax.swing.text.ViewFactory)public void replace(int offset,
int length,
View[] views)
replace in class BoxViewoffset - the starting index into the child views to insert
the new views; this should be a value >= 0 and <= getViewCountlength - the number of existing child views to remove;
This should be a value >= 0 and <= (getViewCount() - offset)views - the child views to add; this value can be
nullto indicate no children are being added
(useful to remove)protected void layoutColumns(int targetSpan,
int[] offsets,
int[] spans,
SizeRequirements[] reqs)
offsets and spans.targetSpan - the given span for total of all the table
columnsreqs - the requirements desired for each column. This
is the column maximum of the cells minimum, preferred, and
maximum requested spanspans - the return value of how much to allocated to
each columnoffsets - the return value of the offset from the
origin for each columnprotected void layoutMinorAxis(int targetSpan,
int axis,
int[] offsets,
int[] spans)
This is implemented to call the
layoutColumns method, and then
forward to the superclass to actually carry out the layout
of the tables rows.
layoutMinorAxis in class BoxViewtargetSpan - the total span given to the view, which
would be used to layout the children.axis - the axis being layed out.offsets - the offsets from the origin of the view for
each of the child views. This is a return value and is
filled in by the implementation of this method.spans - the span of each child view. This is a return
value and is filled in by the implementation of this method.protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements r)
This is implemented to calculate the requirements as the sum of the requirements of the columns.
calculateMinorAxisRequirements in class BoxViewaxis - the axis being studiedr - the SizeRequirements object;
if null one will be createdSizeRequirements objectSizeRequirementsprotected View getViewAtPosition(int pos, Rectangle a)
getViewAtPosition in class CompositeViewpos - the search position >= 0a - the allocation to the table on entry, and the
allocation of the view containing the position on exitnull if there isn't one Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved.