javax.swing.text

Class TableView

Implemented Interfaces:
SwingConstants

public abstract class TableView
extends BoxView

A View implementation for rendering tables inside styled text. Tables are rendered as vertical boxes (see BoxView). These boxes have a number of child views, which are the rows of the table. These are horizontal boxes containing the actuall cells of the table. These cells can be arbitrary view implementations and are fetched via the ViewFactory returned by View.getViewFactory().

Nested Class Summary

class
TableView.TableCell
Deprecated. Table cells are now rendered by an arbitrary View implementation.
class
TableView.TableRow
A view implementation that renders a row of a TableView.

Field Summary

Fields inherited from class javax.swing.text.View

BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS

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

Constructor Summary

TableView(Element el)
Creates a new instance of TableView.

Method Summary

protected SizeRequirements
calculateMinorAxisRequirements(int axis, SizeRequirements req)
Calculates the requirements of this view for the minor (== horizontal) axis.
protected TableView.TableCell
createTableCell(Element el)
Deprecated. Table cells are now rendered by an arbitrary View implementation.
protected TableView.TableRow
createTableRow(Element el)
Creates a view for a table row.
protected void
forwardUpdate(DocumentEvent.ElementChange ec, DocumentEvent e, Shape a, ViewFactory vf)
protected View
getViewAtPosition(int pos, Rectangle a)
Returns the child view that represents the specified position in the model.
protected void
layoutColumns(int targetSpan, int[] offsets, spans[] , SizeRequirements[] reqs)
Lays out the columns to fit within the specified target span.
protected void
layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
Lays out the child views along the minor axis of the table (that is the horizontal axis).
void
replace(int offset, int length, View[] views)
Replaces a number of child views with a set of new child views.

Methods inherited from class javax.swing.text.BoxView

baselineLayout, baselineRequirements, calculateMajorAxisRequirements, calculateMinorAxisRequirements, childAllocation, flipEastAndWestAtEnds, forwardUpdate, getAlignment, getAxis, getChildAllocation, getHeight, getMaximumSpan, getMinimumSpan, getOffset, getPreferredSpan, getResizeWeight, getSpan, getViewAtPoint, getWidth, isAfter, isAllocationValid, isBefore, isLayoutValid, layout, layoutChanged, layoutMajorAxis, layoutMinorAxis, modelToView, paint, paintChild, preferenceChanged, replace, setAxis, setSize, viewToModel

Methods inherited from class javax.swing.text.CompositeView

childAllocation, flipEastAndWestAtEnds, getBottomInset, getChildAllocation, getInsideAllocation, getLeftInset, getNextEastWestVisualPositionFrom, getNextNorthSouthVisualPositionFrom, getNextVisualPositionFrom, getRightInset, getTopInset, getView, getViewAtPoint, getViewAtPosition, getViewCount, getViewIndex, getViewIndexAtPosition, isAfter, isBefore, loadChildren, modelToView, modelToView, replace, setInsets, setParagraphInsets, setParent, viewToModel

Methods inherited from class javax.swing.text.View

append, breakView, changedUpdate, createFragment, dump, forwardUpdate, forwardUpdateToView, getAlignment, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getEndOffset, getGraphics, getMaximumSpan, getMinimumSpan, getNextVisualPositionFrom, getParent, getPreferredSpan, getResizeWeight, getStartOffset, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, modelToView, modelToView, paint, preferenceChanged, remove, removeAll, removeUpdate, replace, setParent, setSize, updateChildren, updateLayout, viewToModel, viewToModel

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

TableView

public TableView(Element el)
Creates a new instance of TableView.
Parameters:
el - the element for which to create a table view

Method Details

calculateMinorAxisRequirements

protected SizeRequirements calculateMinorAxisRequirements(int axis,
                                                          SizeRequirements req)
Calculates the requirements of this view for the minor (== horizontal) axis. This is reimplemented to calculate the requirements as the sum of the size requirements of the columns.
Overrides:
calculateMinorAxisRequirements in interface BoxView
Parameters:
axis - the axis
req - the size requirements object to use, if null a new one will be created

createTableCell

protected TableView.TableCell createTableCell(Element el)

Deprecated. Table cells are now rendered by an arbitrary View implementation.

Creates a view for a table cell. This method is deprecated and not used anymore.
Parameters:
el - the element that represents the table cell
Returns:
a view for rendering the table cell

createTableRow

protected TableView.TableRow createTableRow(Element el)
Creates a view for a table row.
Parameters:
el - the element that represents the table row
Returns:
a view for rendering the table row

forwardUpdate

protected void forwardUpdate(DocumentEvent.ElementChange ec,
                             DocumentEvent e,
                             Shape a,
                             ViewFactory vf)
Overrides:
forwardUpdate in interface BoxView

getViewAtPosition

protected View getViewAtPosition(int pos,
                                 Rectangle a)
Returns the child view that represents the specified position in the model. This is reimplemented because in this view we do not necessarily have a one to one mapping of child elements to child views.
Overrides:
getViewAtPosition in interface CompositeView
Parameters:
pos - the model position for which to query the view
a - the allocation of this view
Returns:
the view that corresponds to the specified model position or null if there is none

layoutColumns

protected void layoutColumns(int targetSpan,
                             int[] offsets,
                             spans[] ,
                             SizeRequirements[] reqs)
Lays out the columns to fit within the specified target span.
Parameters:
targetSpan - the total span for the columns
offsets - an array that holds the offsets of the columns when this method returns
reqs - the size requirements for each column

layoutMinorAxis

protected void layoutMinorAxis(int targetSpan,
                               int axis,
                               int[] offsets,
                               int[] spans)
Lays out the child views along the minor axis of the table (that is the horizontal axis). This is implemented to call layoutColumns(int,int[],spans[],SizeRequirements[]) to layout the column layout of this table, and then forward to the superclass to actually lay out the rows.
Overrides:
layoutMinorAxis in interface BoxView
Parameters:
targetSpan - the available span along the minor (horizontal) axis
axis - the axis
offsets - an array that holds the offsets of the columns when this method returns
spans - an array that holds the spans of the columns when this method returns

replace

public void replace(int offset,
                    int length,
                    View[] views)
Replaces a number of child views with a set of new child views. This is implemented to call the superclass behaviour and invalidate the layout.
Overrides:
replace in interface BoxView
Parameters:
offset - the offset at which to replace child views
length - the number of child views to remove
views - the new set of views

TableView.java -- A view impl for tables inside styled text Copyright (C) 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.