com.lowagie.text

Class Table

Implemented Interfaces:
Element, MarkupAttributes

public class Table
extends Rectangle
implements Element, MarkupAttributes

A Table is a Rectangle that contains Cells, ordered in some kind of matrix.

Tables that span multiple pages are cut into different parts automatically. If you want a table header to be repeated on every page, you may not forget to mark the end of the header section by using the method endHeaders().

The matrix of a table is not necessarily an m x n-matrix. It can contain holes or cells that are bigger than the unit. Believe me or not, but it took some serious thinking to make this as userfriendly as possible. I hope you wil find the result quite simple (I love simple solutions, especially for complex problems). I didn't want it to be something as complex as the Java GridBagLayout.

Example:

 // Remark: You MUST know the number of columns when constructing a Table.
 //         The number of rows is not important.
 Table table = new Table(3);
 table.setBorderWidth(1);
 table.setBorderColor(new Color(0, 0, 255));
 table.setPadding(5);
 table.setSpacing(5);
 Cell cell = new Cell("header");
 cell.setHeader(true);
 cell.setColspan(3);
 table.addCell(cell);
 table.endHeaders();
 cell = new Cell("example cell with colspan 1 and rowspan 2");
 cell.setRowspan(2);
 cell.setBorderColor(new Color(255, 0, 0));
 table.addCell(cell);
 table.addCell("1.1");
 table.addCell("2.1");
 table.addCell("1.2");
 table.addCell("2.2");
 table.addCell("cell test1");
 cell = new Cell("big cell");
 cell.setRowspan(2);
 cell.setColspan(2);
 table.addCell(cell);
 table.addCell("cell test2");
 
The result of this code is a table:
header
example cell with colspan 1 and rowspan 2 1.1 2.1
1.2 2.2
cell test1 big cell
cell test2
See Also:
Rectangle, Element, Row, Cell

Field Summary

private String
absWidth
This is the width of the table (in pixels).
private int
alignment
This is the horizontal alignment.
protected Hashtable
alternatingRowAttributes
contains the attributes that are added to each odd (or even) row
private float
cellpadding
This is cellpadding.
(package private) boolean
cellsFitPage
If true cells may not be split over two pages.
private float
cellspacing
This is cellspacing.
private int
columns
This is the number of columns in the Table.
private Point
curPosition
private Cell
defaultLayout
This Empty Cell contains the DEFAULT layout of each Cell added with the method addCell(String content).
private int
lastHeaderRow
This is the number of the last row of the table headers.
(package private) boolean
mAutoFillEmptyCells
Boolean to automatically fill empty cells before a table is rendered (takes CPU so may be set to false in case of certainty)
(package private) boolean
mDebug
Boolean to track errors (some checks will be performed)
(package private) boolean
mTableInserted
Boolean to track if a table was inserted (to avoid unnecessary computations afterwards)
(package private) float
offset
This is the offset of the table.
private ArrayList
rows
This is the list of Rows.
(package private) boolean
tableFitsPage
If true this table may not be split over two pages.
private static DecimalFormat
widthFormat
private float
widthPercentage
This is the width of the table (in percent of the available space).
private float[]
widths
This is an array containing the widths (in percentages) of every column.

Fields inherited from class com.lowagie.text.Rectangle

BOTTOM, BOX, LEFT, NO_BORDER, RIGHT, TOP, UNDEFINED, background, border, borderColorBottom, borderColorLeft, borderColorRight, borderColorTop, borderWidth, borderWidthBottom, borderWidthLeft, borderWidthRight, borderWidthTop, color, grayFill, llx, lly, markupAttributes, rotation, urx, ury, useVariableBorders

Fields inherited from interface com.lowagie.text.Element

ALIGN_BASELINE, ALIGN_BOTTOM, ALIGN_CENTER, ALIGN_JUSTIFIED, ALIGN_JUSTIFIED_ALL, ALIGN_LEFT, ALIGN_MIDDLE, ALIGN_RIGHT, ALIGN_TOP, ALIGN_UNDEFINED, ANCHOR, ANNOTATION, AUTHOR, CCITTG3_1D, CCITTG3_2D, CCITTG4, CCITT_BLACKIS1, CCITT_ENCODEDBYTEALIGN, CCITT_ENDOFBLOCK, CCITT_ENDOFLINE, CELL, CHAPTER, CHUNK, CREATIONDATE, CREATOR, GRAPHIC, HEADER, IMGRAW, IMGTEMPLATE, JPEG, KEYWORDS, LIST, LISTITEM, MULTI_COLUMN_TEXT, PARAGRAPH, PHRASE, PRODUCER, PTABLE, RECTANGLE, ROW, SECTION, SUBJECT, TABLE, TITLE

Constructor Summary

Table(Properties attributes)
Returns a Table that has been constructed taking in account the value of some attributes.
Table(int columns)
Constructs a Table with a certain number of columns.
Table(int columns, int rows)
Constructs a Table with a certain number of columns and a certain number of Rows.

Method Summary

String
absWidth()
Gets the table width (in pixels).
void
addCell(String content)
Adds a Cell to the Table.
void
addCell(String content, Point location)
Adds a Cell to the Table.
void
addCell(Cell cell)
Adds a Cell to the Table.
void
addCell(Cell aCell, Point aLocation)
Adds a Cell to the Table at a certain location.
void
addCell(Cell aCell, int row, int column)
Adds a Cell to the Table at a certain row and column.
void
addCell(Phrase content)
Adds a Cell to the Table.
void
addCell(Phrase content, Point location)
Adds a Cell to the Table.
void
addColumns(int aColumns)
Gives you the posibility to add columns.
int
alignment()
Gets the horizontal alignment.
private void
assumeTableDefaults(Cell aCell)
Sets the unset cell properties to be the table defaults.
float
bottom()
This method throws an UnsupportedOperationException.
float
bottom(int margin)
This method throws an UnsupportedOperationException.
float
cellpadding()
Gets the cellpadding.
float
cellspacing()
Gets the cellspacing.
int
columns()
Gets the number of columns.
void
complete()
Will fill empty cells with valid blank Cells
private static double
convertWidth(double val)
void
deleteAllRows()
Deletes all rows in this table.
void
deleteColumn(int column)
Deletes a column in this table.
boolean
deleteLastRow()
Deletes the last row in this table.
boolean
deleteRow(int row)
Deletes a row.
int
endHeaders()
Marks the last row of the table headers.
private void
fillEmptyMatrixCells()
adds newCell's to empty/null spaces.
int
firstDataRow()
Gets the first number of the row that doesn't contain headers.
ArrayList
getChunks()
Gets all the chunks in this element.
Dimension
getDimension()
Gets the dimension of this table
Object
getElement(int row, int column)
returns the element at the position row, column (Cast to Cell or Table)
int
getNextColumn()
Returns the next column 0-based index where a new cell would be added.
int
getNextRow()
Returns the next row 0-based index where a new cell would be added.
float
getOffset()
Gets the offset of this table.
float[]
getProportionalWidths()
Gets the proportional widths of the columns in this Table.
float[]
getWidths(float left, float totalWidth)
Gets an array with the positions of the borders between every column.
boolean
hasToFitPageCells()
Checks if the cells of this Table have to fit a page.
boolean
hasToFitPageTable()
Checks if this Table has to fit a page.
void
insertTable(Table aTable)
To put a table within the existing table at the current position generateTable will of course re-arrange the widths of the columns.
void
insertTable(Table aTable, Point aLocation)
To put a table within the existing table at the given position generateTable will of course re-arrange the widths of the columns.
void
insertTable(Table aTable, int row, int column)
To put a table within the existing table at the given position generateTable will of course re-arrange the widths of the columns.
static boolean
isTag(String tag)
Checks if a given tag corresponds with this object.
private boolean
isValidLocation(Cell aCell, Point aLocation)
check if Cell 'fits' the table.
Iterator
iterator()
Gets an Iterator of all the Rows.
int
lastHeaderRow()
Gets the last number of the rows that contain headers.
float
left()
This method throws an UnsupportedOperationException.
float
left(int margin)
This method throws an UnsupportedOperationException.
private void
mergeInsertedTables()
Integrates all added tables and recalculates column widths.
private void
placeCell(ArrayList someRows, Cell aCell, Point aPosition)
Inserts a Cell in a cell-array and reserves cells defined by row-/colspan.
boolean
process(ElementListener listener)
Processes the element by adding it (or the different parts) to an ElementListener.
float
right()
This method throws an UnsupportedOperationException.
float
right(int margin)
This method throws an UnsupportedOperationException.
void
setAbsWidth(String width)
Sets the width of this table (in percentage of the available space).
void
setAlignment(String alignment)
Sets the alignment of this paragraph.
void
setAlignment(int value)
Sets the horizontal alignment.
void
setAlternatingRowAttribute(String name, String value0, String value1)
Allows clients to set up alternating attributes for each Row in the Table.
void
setAutoFillEmptyCells(boolean aDoAutoFill)
Enables/disables automatic insertion of empty cells before table is rendered.
void
setBottom(int value)
This method throws an UnsupportedOperationException.
void
setCellpadding(float value)
Deprecated. use setSpacing instead
void
setCellsFitPage(boolean fitPage)
Allows you to control when a page break occurs.
void
setCellspacing(float value)
Deprecated. use setPadding instead
private void
setCurrentLocationToNextValidPosition(Point aLocation)
Sets current col/row to valid(empty) pos after addCell/Table
void
setDebug(boolean aDebug)
Performs extra checks when executing table code (currently only when cells are added).
void
setDefaultCellBackgroundColor(Color color)
Changes the backgroundcolor in the default layout of the Cells added with method addCell(String content).
void
setDefaultCellBorder(int value)
Changes the border in the default layout of the Cells added with method addCell(String content).
void
setDefaultCellBorderColor(Color color)
Changes the bordercolor in the default layout of the Cells added with method addCell(String content).
void
setDefaultCellBorderWidth(float value)
Changes the width of the borders in the default layout of the Cells added with method addCell(String content).
void
setDefaultCellGrayFill(float value)
Changes the grayfill in the default layout of the Cells added with method addCell(String content).
void
setDefaultColspan(int value)
Changes the colspan in the default layout of the Cells added with method addCell(String content).
void
setDefaultHorizontalAlignment(int value)
Changes the horizontalAlignment in the default layout of the Cells added with method addCell(String content).
void
setDefaultLayout(Cell value)
Sets the default layout of the Table to the provided Cell
void
setDefaultRowspan(int value)
Changes the rowspan in the default layout of the Cells added with method addCell(String content).
void
setDefaultVerticalAlignment(int value)
Changes the verticalAlignment in the default layout of the Cells added with method addCell(String content).
void
setLastHeaderRow(int value)
Sets the horizontal alignment.
void
setLeft(int value)
This method throws an UnsupportedOperationException.
void
setOffset(float offset)
Sets the offset of this table.
void
setPadding(float value)
Sets the cellpadding.
void
setRight(int value)
This method throws an UnsupportedOperationException.
void
setSpaceBetweenCells(float value)
Sets the cellspacing.
void
setSpaceInsideCell(float value)
Sets the cellpadding.
void
setSpacing(float value)
Sets the cellspacing.
void
setTableFitsPage(boolean fitPage)
Allows you to control when a page break occurs.
void
setTop(int value)
This method throws an UnsupportedOperationException.
void
setWidth(float width)
Sets the width of this table (in percentage of the available space).
void
setWidths(float[] widths)
Sets the widths of the different columns (percentages).
void
setWidths(int[] widths)
Sets the widths of the different columns (percentages).
int
size()
Gets the number of rows in this Table.
float
top()
This method throws an UnsupportedOperationException.
float
top(int margin)
This method throws an UnsupportedOperationException.
int
type()
Gets the type of the text element.
float
widthPercentage()
Gets the table width (a percentage).

Methods inherited from class com.lowagie.text.Rectangle

backgroundColor, border, borderColor, borderWidth, bottom, bottom, cloneNonPositionParameters, disableBorderSide, enableBorderSide, getBorderColorBottom, getBorderColorLeft, getBorderColorRight, getBorderColorTop, getBorderWidthBottom, getBorderWidthLeft, getBorderWidthRight, getBorderWidthTop, getChunks, getMarkupAttribute, getMarkupAttributeNames, getMarkupAttributes, getRotation, getVariableBorderWidth, grayFill, hasBorder, hasBorders, height, isUseVariableBorders, left, left, normalize, process, rectangle, right, right, rotate, setBackgroundColor, setBorder, setBorderColor, setBorderColorBottom, setBorderColorLeft, setBorderColorRight, setBorderColorTop, setBorderWidth, setBorderWidthBottom, setBorderWidthLeft, setBorderWidthRight, setBorderWidthTop, setBottom, setGrayFill, setLeft, setMarkupAttribute, setMarkupAttributes, setRight, setTop, setUseVariableBorders, top, top, type, updateBorderBasedOnWidth, width

Field Details

absWidth

private String absWidth
This is the width of the table (in pixels).

alignment

private int alignment
This is the horizontal alignment.

alternatingRowAttributes

protected Hashtable alternatingRowAttributes
contains the attributes that are added to each odd (or even) row

cellpadding

private float cellpadding
This is cellpadding.

cellsFitPage

(package private)  boolean cellsFitPage
If true cells may not be split over two pages.

cellspacing

private float cellspacing
This is cellspacing.

columns

private int columns
This is the number of columns in the Table.

curPosition

private Point curPosition

defaultLayout

private Cell defaultLayout
This Empty Cell contains the DEFAULT layout of each Cell added with the method addCell(String content).

lastHeaderRow

private int lastHeaderRow
This is the number of the last row of the table headers.

mAutoFillEmptyCells

(package private)  boolean mAutoFillEmptyCells
Boolean to automatically fill empty cells before a table is rendered (takes CPU so may be set to false in case of certainty)

mDebug

(package private)  boolean mDebug
Boolean to track errors (some checks will be performed)

mTableInserted

(package private)  boolean mTableInserted
Boolean to track if a table was inserted (to avoid unnecessary computations afterwards)

offset

(package private)  float offset
This is the offset of the table.

rows

private ArrayList rows
This is the list of Rows.

tableFitsPage

(package private)  boolean tableFitsPage
If true this table may not be split over two pages.

widthFormat

private static DecimalFormat widthFormat

widthPercentage

private float widthPercentage
This is the width of the table (in percent of the available space).

widths

private float[] widths
This is an array containing the widths (in percentages) of every column.

Constructor Details

Table

public Table(Properties attributes)
Returns a Table that has been constructed taking in account the value of some attributes.
Parameters:
attributes - Some attributes

Table

public Table(int columns)
            throws BadElementException
Constructs a Table with a certain number of columns.
Parameters:
columns - The number of columns in the table
Throws:
BadElementException - if the creator was called with less than 1 column

Table

public Table(int columns,
             int rows)
            throws BadElementException
Constructs a Table with a certain number of columns and a certain number of Rows.
Parameters:
columns - The number of columns in the table
rows - The number of rows
Throws:
BadElementException - if the creator was called with less than 1 column

Method Details

absWidth

public String absWidth()
Gets the table width (in pixels).
Returns:
the table width

addCell

public void addCell(String content)
            throws BadElementException
Adds a Cell to the Table.

This is a shortcut for addCell(Cell cell). The String will be converted to a Cell.

Parameters:
content - a String
Throws:
BadElementException - this should never happen

addCell

public void addCell(String content,
                    Point location)
            throws BadElementException
Adds a Cell to the Table.

This is a shortcut for addCell(Cell cell, Point location). The String will be converted to a Cell.

Parameters:
content - a String
location - a Point
Throws:
BadElementException - this should never happen

addCell

public void addCell(Cell cell)
Adds a Cell to the Table.
Parameters:
cell - a Cell

addCell

public void addCell(Cell aCell,
                    Point aLocation)
            throws BadElementException
Adds a Cell to the Table at a certain location.
Parameters:
aCell - The Cell to add
aLocation - The location where the Cell will be added

addCell

public void addCell(Cell aCell,
                    int row,
                    int column)
            throws BadElementException
Adds a Cell to the Table at a certain row and column.
Parameters:
aCell - The Cell to add
row - The row where the Cell will be added
column - The column where the Cell will be added

addCell

public void addCell(Phrase content)
            throws BadElementException
Adds a Cell to the Table.

This is a shortcut for addCell(Cell cell). The Phrase will be converted to a Cell.

Parameters:
content - a Phrase
Throws:
BadElementException - this should never happen

addCell

public void addCell(Phrase content,
                    Point location)
            throws BadElementException
Adds a Cell to the Table.

This is a shortcut for addCell(Cell cell, Point location). The Phrase will be converted to a Cell.

Parameters:
content - a Phrase
location - a Point
Throws:
BadElementException - this should never happen

addColumns

public void addColumns(int aColumns)
Gives you the posibility to add columns.
Parameters:
aColumns - the number of columns to add

alignment

public int alignment()
Gets the horizontal alignment.
Returns:
a value

assumeTableDefaults

private void assumeTableDefaults(Cell aCell)
Sets the unset cell properties to be the table defaults.
Parameters:
aCell - The cell to set to table defaults as necessary.

bottom

public float bottom()
This method throws an UnsupportedOperationException.
Overrides:
bottom in interface Rectangle
Returns:
NA

bottom

public float bottom(int margin)
This method throws an UnsupportedOperationException.
Parameters:
margin - NA
Returns:
NA

cellpadding

public float cellpadding()
Gets the cellpadding.
Returns:
a value

cellspacing

public float cellspacing()
Gets the cellspacing.
Returns:
a value

columns

public int columns()
Gets the number of columns.
Returns:
a value

complete

public void complete()
Will fill empty cells with valid blank Cells

convertWidth

private static final double convertWidth(double val)

deleteAllRows

public void deleteAllRows()
Deletes all rows in this table. (contributed by dperezcar@fcc.es)

deleteColumn

public void deleteColumn(int column)
            throws BadElementException
Deletes a column in this table.
Parameters:
column - the number of the column that has to be deleted

deleteLastRow

public boolean deleteLastRow()
Deletes the last row in this table.
Returns:
boolean true if the row was deleted; false if not

deleteRow

public boolean deleteRow(int row)
Deletes a row.
Parameters:
row - the number of the row to delete
Returns:
boolean true if the row was deleted; false if not

endHeaders

public int endHeaders()
Marks the last row of the table headers.
Returns:
the number of the last row of the table headers

fillEmptyMatrixCells

private void fillEmptyMatrixCells()
adds newCell's to empty/null spaces.

firstDataRow

public int firstDataRow()
Gets the first number of the row that doesn't contain headers.
Returns:
a rownumber

getChunks

public ArrayList getChunks()
Gets all the chunks in this element.
Specified by:
getChunks in interface Element
Overrides:
getChunks in interface Rectangle
Returns:
an ArrayList

getDimension

public Dimension getDimension()
Gets the dimension of this table
Returns:
dimension

getElement

public Object getElement(int row,
                         int column)
returns the element at the position row, column (Cast to Cell or Table)
Parameters:
row -
column -
Returns:
dimension

getNextColumn

public int getNextColumn()
Returns the next column 0-based index where a new cell would be added. (contributed by dperezcar@fcc.es)
Returns:
y coordinate for the next row

getNextRow

public int getNextRow()
Returns the next row 0-based index where a new cell would be added. (contributed by dperezcar@fcc.es)
Returns:
x coordinate for the next row

getOffset

public float getOffset()
Gets the offset of this table.
Returns:
the space between this table and the previous element.

getProportionalWidths

public float[] getProportionalWidths()
Gets the proportional widths of the columns in this Table.
Returns:
the proportional widths of the columns in this Table

getWidths

public float[] getWidths(float left,
                         float totalWidth)
Gets an array with the positions of the borders between every column.

This method translates the widths expressed in percentages into the x-coordinate of the borders of the columns on a real document.

Parameters:
left - this is the position of the first border at the left (cellpadding not included)
totalWidth - this is the space between the first border at the left and the last border at the right (cellpadding not included)
Returns:
an array with borderpositions

hasToFitPageCells

public boolean hasToFitPageCells()
Checks if the cells of this Table have to fit a page.
Returns:
true if the cells may not be split

hasToFitPageTable

public boolean hasToFitPageTable()
Checks if this Table has to fit a page.
Returns:
true if the table may not be split

insertTable

public void insertTable(Table aTable)
To put a table within the existing table at the current position generateTable will of course re-arrange the widths of the columns.
Parameters:
aTable - the table you want to insert

insertTable

public void insertTable(Table aTable,
                        Point aLocation)
To put a table within the existing table at the given position generateTable will of course re-arrange the widths of the columns.
Parameters:
aTable - the table you want to insert
aLocation - a Point

insertTable

public void insertTable(Table aTable,
                        int row,
                        int column)
To put a table within the existing table at the given position generateTable will of course re-arrange the widths of the columns.
Parameters:
aTable - The Table to add
row - The row where the Cell will be added
column - The column where the Cell will be added

isTag

public static boolean isTag(String tag)
Checks if a given tag corresponds with this object.
Parameters:
tag - the given tag
Returns:
true if the tag corresponds

isValidLocation

private boolean isValidLocation(Cell aCell,
                                Point aLocation)
check if Cell 'fits' the table.

  • rowspan/colspan not beyond borders
  • spanned cell don't overlap existing cells
Parameters:
aCell - the cell that has to be checked
aLocation - the location where the cell has to be placed
Returns:
true if the location was valid

iterator

public Iterator iterator()
Gets an Iterator of all the Rows.
Returns:
an Iterator

lastHeaderRow

public int lastHeaderRow()
Gets the last number of the rows that contain headers.
Returns:
a rownumber

left

public float left()
This method throws an UnsupportedOperationException.
Overrides:
left in interface Rectangle
Returns:
NA

left

public float left(int margin)
This method throws an UnsupportedOperationException.
Parameters:
margin - NA
Returns:
NA

mergeInsertedTables

private void mergeInsertedTables()
Integrates all added tables and recalculates column widths.

placeCell

private void placeCell(ArrayList someRows,
                       Cell aCell,
                       Point aPosition)
Inserts a Cell in a cell-array and reserves cells defined by row-/colspan.
Parameters:
someRows - some rows
aCell - the cell that has to be inserted
aPosition - the position where the cell has to be placed

process

public boolean process(ElementListener listener)
Processes the element by adding it (or the different parts) to an ElementListener.
Specified by:
process in interface Element
Overrides:
process in interface Rectangle
Parameters:
listener - an ElementListener
Returns:
true if the element was processed successfully

right

public float right()
This method throws an UnsupportedOperationException.
Overrides:
right in interface Rectangle
Returns:
NA

right

public float right(int margin)
This method throws an UnsupportedOperationException.
Parameters:
margin - NA
Returns:
NA

setAbsWidth

public void setAbsWidth(String width)
Sets the width of this table (in percentage of the available space).
Parameters:
width - the width

setAlignment

public void setAlignment(String alignment)
Sets the alignment of this paragraph.
Parameters:
alignment - the new alignment as a String

setAlignment

public void setAlignment(int value)
Sets the horizontal alignment.
Parameters:
value - the new value

setAlternatingRowAttribute

public void setAlternatingRowAttribute(String name,
                                       String value0,
                                       String value1)
Allows clients to set up alternating attributes for each Row in the Table.

This code was contributed by Matt Benson.

Parameters:
name - the name of the attribute
value0 - the value of the attribute for even rows
value1 - the value of the attribute for odd rows

setAutoFillEmptyCells

public void setAutoFillEmptyCells(boolean aDoAutoFill)
Enables/disables automatic insertion of empty cells before table is rendered. (default = false) As some people may want to create a table, fill only a couple of the cells and don't bother with investigating which empty ones need to be added, this default behaviour may be very welcome. Disabling is recommended to increase speed. (empty cells should be added through extra code then)
Parameters:
aDoAutoFill - enable/disable autofill

setBottom

public void setBottom(int value)
This method throws an UnsupportedOperationException.
Parameters:
value - NA

setCellpadding

public void setCellpadding(float value)

Deprecated. use setSpacing instead

Sets the cellspacing (the meaning of cellpadding and cellspacing was inverted by mistake).
Parameters:
value - the new value

setCellsFitPage

public void setCellsFitPage(boolean fitPage)
Allows you to control when a page break occurs.

When a cell doesn't fit a page, it is split in two parts. If you want to avoid this, you should set the cellsFitPage value to true.

Parameters:
fitPage - enter true if you don't want to split cells

setCellspacing

public void setCellspacing(float value)

Deprecated. use setPadding instead

Sets the cellpadding (the meaning of cellpadding and cellspacing was inverted by mistake).
Parameters:
value - the new value

setCurrentLocationToNextValidPosition

private void setCurrentLocationToNextValidPosition(Point aLocation)
Sets current col/row to valid(empty) pos after addCell/Table
Parameters:
aLocation - a location in the Table

setDebug

public void setDebug(boolean aDebug)
Performs extra checks when executing table code (currently only when cells are added).
Parameters:
aDebug -

setDefaultCellBackgroundColor

public void setDefaultCellBackgroundColor(Color color)
Changes the backgroundcolor in the default layout of the Cells added with method addCell(String content).
Parameters:
color - the new color

setDefaultCellBorder

public void setDefaultCellBorder(int value)
Changes the border in the default layout of the Cells added with method addCell(String content).
Parameters:
value - the new border value

setDefaultCellBorderColor

public void setDefaultCellBorderColor(Color color)
Changes the bordercolor in the default layout of the Cells added with method addCell(String content).
Parameters:
color - the new color

setDefaultCellBorderWidth

public void setDefaultCellBorderWidth(float value)
Changes the width of the borders in the default layout of the Cells added with method addCell(String content).
Parameters:
value - the new width

setDefaultCellGrayFill

public void setDefaultCellGrayFill(float value)
Changes the grayfill in the default layout of the Cells added with method addCell(String content).
Parameters:
value - the new value

setDefaultColspan

public void setDefaultColspan(int value)
Changes the colspan in the default layout of the Cells added with method addCell(String content).
Parameters:
value - the new colspan value

setDefaultHorizontalAlignment

public void setDefaultHorizontalAlignment(int value)
Changes the horizontalAlignment in the default layout of the Cells added with method addCell(String content).
Parameters:
value - the new alignment value

setDefaultLayout

public void setDefaultLayout(Cell value)
Sets the default layout of the Table to the provided Cell
Parameters:
value - a cell with all the defaults

setDefaultRowspan

public void setDefaultRowspan(int value)
Changes the rowspan in the default layout of the Cells added with method addCell(String content).
Parameters:
value - the new rowspan value

setDefaultVerticalAlignment

public void setDefaultVerticalAlignment(int value)
Changes the verticalAlignment in the default layout of the Cells added with method addCell(String content).
Parameters:
value - the new alignment value

setLastHeaderRow

public void setLastHeaderRow(int value)
Sets the horizontal alignment.
Parameters:
value - the new value

setLeft

public void setLeft(int value)
This method throws an UnsupportedOperationException.
Parameters:
value - NA

setOffset

public void setOffset(float offset)
Sets the offset of this table. Normally a newline is added before you add a Table object. This newline uses the current leading. If you want to control the space between the table and the previous element yourself, you have to set the offset of this table.
Parameters:
offset - the space between this table and the previous object.

setPadding

public void setPadding(float value)
Sets the cellpadding.
Parameters:
value - the new value

setRight

public void setRight(int value)
This method throws an UnsupportedOperationException.
Parameters:
value - NA

setSpaceBetweenCells

public void setSpaceBetweenCells(float value)
Sets the cellspacing.
Parameters:
value - the new value

setSpaceInsideCell

public void setSpaceInsideCell(float value)
Sets the cellpadding.
Parameters:
value - the new value

setSpacing

public void setSpacing(float value)
Sets the cellspacing.
Parameters:
value - the new value

setTableFitsPage

public void setTableFitsPage(boolean fitPage)
Allows you to control when a page break occurs.

When a table doesn't fit a page, it is split in two parts. If you want to avoid this, you should set the tableFitsPage value to true.

Parameters:
fitPage - enter true if you don't want to split cells

setTop

public void setTop(int value)
This method throws an UnsupportedOperationException.
Parameters:
value - NA

setWidth

public void setWidth(float width)
Sets the width of this table (in percentage of the available space).
Parameters:
width - the width

setWidths

public void setWidths(float[] widths)
            throws BadElementException
Sets the widths of the different columns (percentages).

You can give up relative values of borderwidths. The sum of these values will be considered 100%. The values will be recalculated as percentages of this sum.

example:

 float[] widths = {2, 1, 1};
 table.setWidths(widths)
 
The widths will be: a width of 50% for the first column, 25% for the second and third column.
Parameters:
widths - an array with values

setWidths

public void setWidths(int[] widths)
            throws DocumentException
Sets the widths of the different columns (percentages).

You can give up relative values of borderwidths. The sum of these values will be considered 100%. The values will be recalculated as percentages of this sum.

Parameters:
widths - an array with values

size

public int size()
Gets the number of rows in this Table.
Returns:
the number of rows in this Table

top

public float top()
This method throws an UnsupportedOperationException.
Overrides:
top in interface Rectangle
Returns:
NA

top

public float top(int margin)
This method throws an UnsupportedOperationException.
Parameters:
margin - NA
Returns:
NA

type

public int type()
Gets the type of the text element.
Specified by:
type in interface Element
Overrides:
type in interface Rectangle
Returns:
a type

widthPercentage

public float widthPercentage()
Gets the table width (a percentage).
Returns:
the table width