public final class TableBuilder<T> extends BasicBuilder<T>
Modifier and Type | Class and Description |
---|---|
static class |
TableBuilder.DefaultAction
Built in actions that can be used to quickly create toolbar button actions
|
static class |
TableBuilder.RowHeaderType |
BasicBuilder.Instructions
instructions
Constructor and Description |
---|
TableBuilder() |
Modifier and Type | Method and Description |
---|---|
void |
addColumn(java.lang.String name,
java.lang.String renderViaMethodName)
If the table model is supplied as a list or array, then define the columns in order
be repeatedly calling the addColumn methods.
|
void |
addColumn(java.lang.String name,
javax.swing.table.TableCellRenderer renderer)
If the table model is supplied as a list or array, then define the columns in order
be repeatedly calling the addColumn methods.
|
BuiltTable<T> |
build()
Create and return the class containing the built UI for the specified table.
|
protected void |
buildToolbar(oracle.javatools.ui.builders.BuiltBasic builtBasic) |
protected BasicBuilder.Instructions |
createInstructions() |
void |
setActionsDefault(TableBuilder.DefaultAction defaultAction,
java.awt.event.ActionListener listener)
Add one of the DefaultActions to the toolbar and listen to it.
|
void |
setAutoSizeColumns(boolean autoSize)
Initially size the columns of the table to match the contents.
|
void |
setColumnSelectionAllowed(boolean selectionAllowed)
Allow selection of table data by column
|
void |
setHiddenColumns(int... hiddenColumns)
Set the columns that are initally hidden.
|
void |
setHiddenColumnsAllowed(boolean isAvailable)
Set whether this table will display a dropdown button at the end of
the column header to hide/show columns.
|
void |
setHorizontalScrolling(boolean horizontalScrolling)
Allow the table to scroll horizontally.
|
void |
setModel(java.util.List<T> list)
Supply a list, each item of the table will be one row in the table.
|
void |
setModel(T[] array)
Supply an array of items, each item will be one row in the table.
|
void |
setModel(javax.swing.table.TableModel model)
Supply the model to be used in the table.
|
void |
setReorderable(boolean reorderable)
Allow the contents of the table to be reordered by the user.
|
void |
setRowHeader(TableBuilder.RowHeaderType rowHeader)
Add a header to the start of each row
|
void |
setRowSelectionAllowed(boolean selectionAllowed)
Allow selection of table data by row
|
void |
setSelectAllAllowed(boolean selectAllAllowed)
Enables whether the table has a control that when clicked will select all
of the cells in the table (Selection model permitting).
|
void |
setSelectionIndices(int... indexes)
Set the indexes of the rows that will be initially selected.
|
void |
setSelectionMode(int selectionMode)
Set the selection mode of the table, by default the mode is single selection
|
void |
setShowGrid(boolean showGrid)
Controls whether the table will show gridlines between cells.
|
void |
setShowToolTips(boolean showToolTips)
Controls whether the table will show tooltips for cells that are
truncated due to reduced column width.
|
void |
setSortable(boolean sortable)
Allow sorting of the rows in the table with a default table row sorter
|
void |
setSorter(javax.swing.table.TableRowSorter sorter)
Allow sorting of the rows in the table with a default table row sorter.
|
void |
setVisibleRows(int visibleRows)
Set the preferred number of visible rows
|
setActions, setActionsSecondary, setActionsSecondary, setCheckable, setDoubleClickListener, setEmptyText, setEmptyTextLarge, setLabel, setResizable, setRollover, setSelection, setSelectionEnabledAction, setSelectionEnabledComponent, setTitlebar, setToolbarComponents
protected BasicBuilder.Instructions createInstructions()
createInstructions
in class BasicBuilder<T>
public BuiltTable<T> build()
protected void buildToolbar(oracle.javatools.ui.builders.BuiltBasic builtBasic)
buildToolbar
in class BasicBuilder<T>
public void setModel(javax.swing.table.TableModel model)
model
- public void setModel(java.util.List<T> list)
list
- a List of items, each item is one row in the tablepublic void setModel(T[] array)
array
- an array of items, each item is one row in the tablepublic void addColumn(java.lang.String name, java.lang.String renderViaMethodName)
If the table model is supplied as a list or array, then define the columns in order be repeatedly calling the addColumn methods.
The text for each column cell is retrieved by calling the method name on type T (each row in the table is a T). e.g. if the model contained 'Locale' objects in each row then set renderNameByMethod to "getDisplayCountry" to display a country name in this column:
builder.addColumn("Country", "getDisplayCountry")This avoids the need to write a renderer in a large number of cases
name
- The name or the column that appears in the table headerrenderViaMethodName
- public void addColumn(java.lang.String name, javax.swing.table.TableCellRenderer renderer)
If the table model is supplied as a list or array, then define the columns in order be repeatedly calling the addColumn methods.
The renderer will be passed the column index and the value for the row (an instance of T) via the getTableCellRendererComponent(...) method
name
- The name or the column that appears in the table headerrenderer
- a TableCellRenderer that will render a cell in this columnpublic void setSelectionIndices(int... indexes)
indexes
- the indexes to selectpublic void setSelectionMode(int selectionMode)
selectionMode
- a ListSelectionModel constantpublic void setRowSelectionAllowed(boolean selectionAllowed)
public void setAutoSizeColumns(boolean autoSize)
autoSize
- if true the columns will be autosized to match the contentspublic void setSortable(boolean sortable)
sortable
- if true the table will be sortablepublic void setSorter(javax.swing.table.TableRowSorter sorter)
sorter
- aTableRowSorter to sort the tablepublic void setColumnSelectionAllowed(boolean selectionAllowed)
selectionAllowed
- public void setHiddenColumnsAllowed(boolean isAvailable)
isAvailable
- public void setHiddenColumns(int... hiddenColumns)
hiddenColumns
- column indexes for initially hidden columnspublic void setShowToolTips(boolean showToolTips)
showToolTips
- if true, a tooltip will be displayed for any cell
which is truncated because the column is not wide enough to display
its full value.public void setShowGrid(boolean showGrid)
showGrid
- if true, a grid will be shown between cellspublic void setReorderable(boolean reorderable)
reorderable
- public void setSelectAllAllowed(boolean selectAllAllowed)
Enables whether the table has a control that when clicked will select all of the cells in the table (Selection model permitting).
A RowHeader will have to be set for this control to be visible
Under current UI guidelines this control is located at the top left of the table
public void setActionsDefault(TableBuilder.DefaultAction defaultAction, java.awt.event.ActionListener listener)
defaultAction
- listener
- a listener to be called when the action is performedpublic void setHorizontalScrolling(boolean horizontalScrolling)
Allow the table to scroll horizontally. When enabled this allows the contents of the table to be wider than the scrollpanes viewport.
This is essentially the same as calling table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF)
horizontalScrolling
- public void setVisibleRows(int visibleRows)
visibleRows
- the number of visible rowspublic void setRowHeader(TableBuilder.RowHeaderType rowHeader)
rowHeader
-