SwingConstants
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 independent spans if desired).
Modifier and Type | Class | 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_AXIS
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Constructor | Description |
---|---|
TableView |
Constructs a TableView for the given element. |
Modifier and Type | Method | Description |
---|---|---|
protected SizeRequirements |
calculateMinorAxisRequirements |
Calculate the requirements for the minor axis. |
protected TableView.TableCell |
createTableCell |
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 |
Creates a new table row. |
protected View |
getViewAtPosition |
Fetches the child view that represents the given position in the model. |
protected void |
layoutColumns |
Lays out the columns to fit within the given target span. |
protected void |
layoutMinorAxis |
Perform layout for the minor axis of the box (i.e. the axis orthogonal to the axis that it represents). |
void |
replace |
Change the child views. |
baselineLayout, baselineRequirements, calculateMajorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, 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, viewToModel
getBottomInset, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewCount, getViewIndex, getViewIndexAtPosition, loadChildren, modelToView, setInsets, setParagraphInsets, setParent
append, 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, viewToModel
public 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 elementpublic void replace(int offset, int length, View[] views)
replace
in class BoxView
offset
- 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 null
to 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 columnsoffsets
- the return value of the offset from the origin for each columnspans
- the return value of how much to allocated to each columnreqs
- the requirements desired for each column. This is the column maximum of the cells minimum, preferred, and maximum requested spanprotected 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 BoxView
targetSpan
- the total span given to the view, which would be used to layout the children.axis
- the axis being laid 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 BoxView
axis
- the axis being studiedr
- the SizeRequirements
object; if null
one will be createdSizeRequirements
objectprotected View getViewAtPosition(int pos, Rectangle a)
getViewAtPosition
in class CompositeView
pos
- 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
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/text/TableView.html