Overview | Package | Class | Tree | Deprecated | Index | Help |
Java Platform 1.1.7 |
||
PREV CLASS | NEXT CLASS | FRAMES | NO FRAMES | ||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--com.sun.java.swing.JComponent | +--com.sun.java.swing.JTable
TableModel dataModel = new AbstractTableModel() { public int getColumnCount() { return 10; } public int getRowCount() { return 10;} public Object getValueAt(int row, int col) { return new Integer(row*col); } }; JTable table = new JTable(dataModel); JScrollPane scrollpane = new JScrollPane(table);
Because the JTable is now much easier to set up with custom models the DefaultTableModel is less useful than it was in previous releases. Instead of copying the data in an application into the DefaultTableModel, we recommend wrapping it in the methods of the TableModel interface and passing the real data to the JTable as above. This technique is nearly as concise as using a DefaultTableModel and starting this way has a number of advantages over the longer term. In particular: it is a scalable technique, is easier to handle dynamic or editable tables and often results in much more efficient applications because the model is free to choose the internal representation that best suits the data.
The "Table" directory in the examples/demo area gives a number of complete examples of JTable usage, covering how the JTable can be used to provide an editable view of data taken from a database and how to modify the columns in the display to use specialized renderers and editors.
The JTable uses integers exclusively to refer to both the rows and the columns
of the model that it displays. The JTable simply takes a tabular range of cells
and uses getValueAt(int, int)
to retrieve and display the values
from the model.
If getTableHeader().setReorderingAllowed(boolean)
is used to
enable column reordering columns may be rearranged in the JTable so that the
view's columns appear in a different order to the columns in the model.
This does not affect the implementation of the model at all: when the
columns are reordered, the JTable maintains the new order of the columns
internally and converts its column indices before querying the model.
So, when writing a TableModel, it is not necessary to listen for column
reordering events as the the model will be queried in its own co-ordinate
system regardless of what is happening in the view.
In the examples area there is a demonstration of a sorting algorithm making
use of exactly this technique to interpose yet another co-ordinate system
where the order of the rows is changed, rather than the order of the columns.
The general rule for the JTable API and the APIs of all its associated classes, including the the column model and both the row and column selection models, is: methods using integer indices for rows and columns always use the co-ordinate system of the view. There are three exceptions to this rule:
The convertColumnIndexToView() and convertColumnIndexToModel() methods have been provided to convert between the two co-ordinate systems but they are rarely needed during normal use.
See How to Use Tables in The Java Tutorial for further documentation.
For the keyboard keys used by this component in the standard Look and Feel (L&F) renditions, see the JTable key assignments.
Warning: serialized objects of this class will not be compatible with future swing releases. The current serialization support is appropriate for short term storage or RMI between Swing1.0 applications. It will not be possible to load serialized Swing1.0 objects with future releases of Swing. The JDK1.2 release of Swing will be the compatibility baseline for the serialized form of Swing objects.
Inner Class Summary | |
JTable.AccessibleJTable
The class used to obtain the accessible role for this object. |
Inner classes inherited from class com.sun.java.swing.JComponent | |
JComponent.AccessibleJComponent |
Field Summary | |
static int | AUTO_RESIZE_ALL_COLUMNS
Proportionately resize all columns when table is resized |
static int | AUTO_RESIZE_LAST_COLUMN
Auto resize last column only when table is resized |
static int | AUTO_RESIZE_OFF
Do not auto resize column when table is resized. |
boolean | autoCreateColumnsFromModel
The table will query the TableModel to build the default set of columns if this is true. |
int | autoResizeMode
This mode value determines if table automatically resizes the width the table's columns to take up the entire width of the table, and how it does the resizing. |
TableCellEditor | cellEditor
The object that overwrites the screen real estate occupied by the current cell and allows the user to change those contents. |
boolean | cellSelectionEnabled
If this is true, then both a row selection and a column selection can be non-empty at the same time, the selected cells are the the cells whose row and column are both selected. |
TableColumnModel | columnModel
The TableColumnModel of the table |
TableModel | dataModel
The TableModel of the table |
java.util.Hashtable | defaultEditorsByColumnClass
A table of objects that display and edit the contents of a cell, indexed by class. |
java.util.Hashtable | defaultRenderersByColumnClass
A table of objects that display the contents of a cell, indexed by class. |
int | editingColumn
Identifies the column of the cell being edited. |
int | editingRow
Identifies the row of the cell being edited. |
java.awt.Component | editorComp
If editing, Component that is handling the editing. |
java.awt.Color | gridColor
The color of the grid |
java.awt.Dimension | preferredViewportSize
Used by the Scrollable interface to determine the initial visible area |
int | rowHeight
The height of all rows in the table |
int | rowMargin
The height margin between rows |
boolean | rowSelectionAllowed
Row selection allowed in this table |
java.awt.Color | selectionBackground
The background color of selected cells |
java.awt.Color | selectionForeground
The foreground color of selected cells |
ListSelectionModel | selectionModel
The ListSelectionModel of the table, used to keep track of row selections |
boolean | showHorizontalLines
The table draws horizontal lines between cells if showHorizontalLines is true |
boolean | showVerticalLines
The table draws vertical lines between cells if showVerticalLines is true |
JTableHeader | tableHeader
The TableHeader working with the table |
Fields inherited from class com.sun.java.swing.JComponent | |
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component | |
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Constructor Summary | |
JTable()
Constructs a default JTable which is initialized with a default data model, a default column model, and a default selection model. |
|
JTable(TableModel dm)
Constructs a JTable which is initialized with dm as the data model, a default column model, and a default selection model. |
|
JTable(TableModel dm,
TableColumnModel cm)
Constructs a JTable which is initialized with dm as the data model, cm as the column model, and a default selection model. |
|
JTable(TableModel dm,
TableColumnModel cm,
ListSelectionModel sm)
Constructs a JTable which is initialized with dm as the data model, cm as the column model, and sm as the selection model. |
|
JTable(int numRows,
int numColumns)
Constructs a JTable with numRows and numColumns of empty cells using the DefaultTableModel. |
|
JTable(java.util.Vector rowData,
java.util.Vector columnNames)
Constructs a JTable to display the values in the Vector of Vectors, rowData, with column names, columnNames. |
|
JTable(java.lang.Object[][] rowData,
java.lang.Object[] columnNames)
Constructs a JTable to display the values in the two dimensional array, rowData, with column names, columnNames. |
Method Summary | |
void | addColumn(TableColumn aColumn)
Appends aColumn to the end of the array of columns held by the JTable's column model. |
void | addColumnSelectionInterval(int index0,
int index1)
Adds the columns from index0 to index0 inclusive to the current selection. |
void | addNotify()
Calls configureEnclosingScrollPane . |
void | addRowSelectionInterval(int index0,
int index1)
Adds the rows from index0 to index0 inclusive to the current selection. |
void | clearSelection()
Deselects all selected columns and rows. |
void | columnAdded(TableColumnModelEvent e)
Tells listeners that a column was added to the model. |
int | columnAtPoint(java.awt.Point point)
Returns the index of the column that point lies in, or -1 if it lies outside the receiver's bounds. |
void | columnMarginChanged(ChangeEvent e)
Tells listeners that a column was moved due to a margin change. |
void | columnMoved(TableColumnModelEvent e)
Tells listeners that a column was repositioned. |
void | columnRemoved(TableColumnModelEvent e)
Tells listeners that a column was removed from the model. |
void | columnSelectionChanged(ListSelectionEvent e)
Tells listeners that the selection model of the TableColumnModel changed. |
void | configureEnclosingScrollPane()
If the JTable is the viewportView of an enclosing JScrollPane (the usual situation), configure this ScrollPane by, amongst other things, installing the table's tableHeader as the columnHeaderView of the scrollpane. |
int | convertColumnIndexToModel(int viewColumnIndex)
Return the index of the column in the model whose data is being displayed in the column viewColumnIndex in the display. |
int | convertColumnIndexToView(int modelColumnIndex)
Return the index of the column in the view which is displaying the data from the column modelColumnIndex in the model. |
TableColumnModel | createDefaultColumnModel()
Returns the default column model object which is a DefaultTableColumnModel. |
void | createDefaultColumnsFromModel()
This method will create default columns for the table from the data model using the getColumnCount() and getColumnType() methods defined in the TableModel interface. |
TableModel | createDefaultDataModel()
Returns the default table model object which is a DefaultTableModel. |
void | createDefaultEditors()
Creates default cell editors for Objects, numbers, and boolean values. |
void | createDefaultRenderers()
|
ListSelectionModel | createDefaultSelectionModel()
Returns the default selection model object which is a DefaultListSelectionModel. |
JTableHeader | createDefaultTableHeader()
Returns the default table header object which is a JTableHeader. |
static JScrollPane | createScrollPaneForTable(JTable aTable)
Deprecated. Equivalent to new JScrollPane(aTable) . |
boolean | editCellAt(int row,
int column)
Programmatically starts editing the cell at row and column, if the cell is editable. |
boolean | editCellAt(int row,
int column,
java.util.EventObject e)
Programmatically starts editing the cell at row and column, if the cell is editable. |
void | editingCanceled(ChangeEvent e)
Invoked when editing is canceled. |
void | editingStopped(ChangeEvent e)
Invoked when editing is finished. |
AccessibleContext | getAccessibleContext()
Get the AccessibleContext associated with this JComponent |
boolean | getAutoCreateColumnsFromModel()
Returns whether the table will create default columns from the model. |
int | getAutoResizeMode()
Returns auto resize mode of the table. |
TableCellEditor | getCellEditor()
Return the cellEditor. |
java.awt.Rectangle | getCellRect(int row,
int column,
boolean includeSpacing)
Returns a rectangle locating the cell that lies at the intersection of row and column. |
boolean | getCellSelectionEnabled()
Returns true if simultaneous row and column selections are allowed |
java.lang.Class | getColumnClass(int column)
Returns the type of the column at the specified view position. |
int | getColumnCount()
Returns the number of columns in the column model, note this may be different to the number of columns in the table model. |
TableColumn | getColumn(java.lang.Object identifier)
Returns the TableColumn object for the column in the table whose identifier is equal to identifier, when compared using equals(). |
TableColumnModel | getColumnModel()
Returns the TableColumnModel that contains all column inforamtion of this table. |
java.lang.String | getColumnName(int column)
Returns the name of the column at the specified view position. |
boolean | getColumnSelectionAllowed()
Returns true if columns can be selected. |
TableCellEditor | getDefaultEditor(java.lang.Class columnClass)
Returns the editor to be used when no editor has been set in a TableColumn. |
TableCellRenderer | getDefaultRenderer(java.lang.Class columnClass)
Returns the renderer to be used when no renderer has been set in a TableColumn. |
int | getEditingColumn()
This returns the index of the editing column. |
int | getEditingRow()
Returns the index of the editing row. |
java.awt.Component | getEditorComponent()
If the receiver is currently editing this will return the Component that was returned from the CellEditor. |
java.awt.Color | getGridColor()
Returns the color used to draw grid lines. |
java.awt.Dimension | getIntercellSpacing()
Returns the horizontal and vertical spacing between cells. |
TableModel | getModel()
Returns the TableModel that provides the data displayed by the receiver. |
java.awt.Dimension | getPreferredScrollableViewportSize()
Returns the preferred size of the viewport for this table. |
int | getRowCount()
Returns the number of rows in the table. |
int | getRowHeight()
Returns the height of a table row in the receiver. |
boolean | getRowSelectionAllowed()
Returns true if rows can be selected. |
int | getScrollableBlockIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
Returns The visibleRect.height or visibleRect.width, depending on the table's orientation. |
boolean | getScrollableTracksViewportHeight()
Returns false to indicate that the height of the viewport does not determine the height of the table. |
boolean | getScrollableTracksViewportWidth()
Returns false to indicate that the width of the viewport does not determine the width of the table. |
int | getScrollableUnitIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
Returns the scroll increment that completely exposes one new row or column (depending on the orientation). |
int | getSelectedColumnCount()
Returns the number of selected columns. |
int | getSelectedColumn()
Returns the index of the last column selected or added to the selection. |
int[] | getSelectedColumns()
Returns the indices of all selected columns. |
int | getSelectedRowCount()
Returns the number of selected rows. |
int | getSelectedRow()
Returns the index of the last row selected or added to the selection. |
int[] | getSelectedRows()
Returns the indices of all selected rows. |
java.awt.Color | getSelectionBackground()
Returns the background color for selected cells. |
java.awt.Color | getSelectionForeground()
Returns the foreground color for selected cells. |
ListSelectionModel | getSelectionModel()
Returns the ListSelectionModel that is used to maintain row selection state. |
boolean | getShowHorizontalLines()
Returns true if the receiver draws horizontal lines between cells, false if it doesn't. |
boolean | getShowVerticalLines()
Returns true if the receiver draws vertical lines between cells, false if it doesn't. |
JTableHeader | getTableHeader()
Returns the tableHeader working with this JTable. |
java.lang.String | getToolTipText(java.awt.event.MouseEvent event)
Overrides JComponent's setToolTipText method to allow use of the renderer's tips (if the renderer has text set). |
java.lang.String | getUIClassID()
Returns the name of the L&F class that renders this component. |
com.sun.java.swing.plaf.TableUI | getUI()
Returns the L&F object that renders this component. |
java.lang.Object | getValueAt(int row,
int column)
Returns the cell value at row and column. |
void | initializeLocalVars()
Initializes table properties to their default values. |
boolean | isCellEditable(int row,
int column)
Returns true if the cell at row and column is editable. |
boolean | isCellSelected(int row,
int column)
Returns true if the cell at the specified position is selected. |
boolean | isColumnSelected(int column)
Returns true if the column at the specified index is selected |
boolean | isEditing()
Returns true is the table is editing a cell. |
boolean | isOpaque()
Returns true to indicate that this component paints every pixel in its range. |
boolean | isRowSelected(int row)
Returns true if the row at the specified index is selected |
void | moveColumn(int column,
int targetColumn)
Moves the column column to the position currently occupied by the column targetColumn. |
java.awt.Component | prepareEditor(TableCellEditor editor,
int row,
int column)
Sets up the specified editor using the value at the specified cell. |
void | removeColumn(TableColumn aColumn)
Removes aColumn from the JTable's array of columns. |
void | removeColumnSelectionInterval(int index0,
int index1)
Deselects the columns from index0 to index0 inclusive. |
void | removeEditor()
Discard the editor object and return the real estate it used to cell rendering. |
void | removeRowSelectionInterval(int index0,
int index1)
Deselects the rows from index0 to index0 inclusive. |
void | resizeAndRepaint()
Properly sizes the receiver and its header view, and marks it as needing display. |
int | rowAtPoint(java.awt.Point point)
Returns the index of the row that point lies in, or -1 if is not in the range [0, getRowCount()-1]. |
void | selectAll()
If a column is selected, then this selects all columns. |
void | setAutoCreateColumnsFromModel(boolean createColumns)
Sets the table's autoCreateColumnsFromModel flag. |
void | setAutoResizeMode(int mode)
Sets the table's auto resize mode when the table is resized. |
void | setCellEditor(TableCellEditor anEditor)
Set the cellEditor variable. |
void | setCellSelectionEnabled(boolean flag)
Sets whether this table allows both a column selection and a row selection to exist at the same time. |
void | setColumnModel(TableColumnModel newModel)
Sets the column model for this table to newModel and registers with for listner notifications from the new column model. |
void | setColumnSelectionAllowed(boolean flag)
Sets whether the columns in this model can be selected. |
void | setColumnSelectionInterval(int index0,
int index1)
Selects the columns from index0 to index1 inclusive. |
void | setDefaultEditor(java.lang.Class columnClass,
TableCellEditor editor)
Set a default editor to be used if no editor has been set in a TableColumn. |
void | setDefaultRenderer(java.lang.Class columnClass,
TableCellRenderer renderer)
Set a default renderer to be used if no renderer has been set in a TableColumn. |
void | setEditingColumn(int aColumn)
Set the editingColumn variable. |
void | setEditingRow(int aRow)
Set the editingRow variable. |
void | setGridColor(java.awt.Color newColor)
Sets the color used to draw grid lines to color and redisplays the receiver. |
void | setIntercellSpacing(java.awt.Dimension newSpacing)
Sets the width and height between cells to newSpacing and redisplays the receiver. |
void | setModel(TableModel newModel)
Sets the data model for this table to newModel and registers with for listner notifications from the new data model. |
void | setPreferredScrollableViewportSize(java.awt.Dimension size)
Sets the preferred size of the viewport for this table. |
void | setRowHeight(int newHeight)
Sets the height for rows to newRowHeight and invokes tile |
void | setRowSelectionAllowed(boolean flag)
Sets whether the rows in this model can be selected. |
void | setRowSelectionInterval(int index0,
int index1)
Selects the rows from index0 to index1 inclusive. |
void | setSelectionBackground(java.awt.Color selectionBackground)
Set the background color for selected cells. |
void | setSelectionForeground(java.awt.Color selectionForeground)
Set the foreground color for selected cells. |
void | setSelectionMode(int selectionMode)
Sets the table's selection mode to allow only single selections, a single contiguous interval, or multiple intervals. |
void | setSelectionModel(ListSelectionModel newModel)
Sets the row selection model for this table to newModel and registers with for listner notifications from the new selection model. |
void | setShowGrid(boolean b)
Sets whether the receiver draws grid lines around cells. |
void | setShowHorizontalLines(boolean b)
Sets whether the receiver draws horizontal lines between cells. |
void | setShowVerticalLines(boolean b)
Sets whether the receiver draws vertical lines between cells. |
void | setTableHeader(JTableHeader newHeader)
Sets the tableHeader working with this JTable to newHeader. |
void | setUI(com.sun.java.swing.plaf.TableUI ui)
Sets the L&F object that renders this component. |
void | setValueAt(java.lang.Object aValue,
int row,
int column)
Sets the value for the cell at row and column. |
void | sizeColumnsToFit(boolean lastColumnOnly)
This method will resize one or more columns of the table so that the sum width of all columns will equal to the width of the table. |
void | tableChanged(TableModelEvent e)
The TableModelEvent should be constructed in the co-ordinate system of the model, the appropriate mapping to the view co-ordinate system is performed by the JTable when it recieves the event. |
void | updateUI()
Notification from the UIManager that the L&F has changed. |
void | valueChanged(ListSelectionEvent e)
Tells listeners that the selection changed. |
Methods inherited from class java.awt.Container | |
add, add, add, add, add, addContainerListener, addImpl, addNotify, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponentAt, getComponentAt, getComponent, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, paint, paramString, preferredSize, printComponents, print, processContainerEvent, processEvent, removeAll, remove, remove, removeContainerListener, removeNotify, setLayout, update, validate, validateTree |
Methods inherited from class java.awt.Component | |
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getName, getParent, getPeer, getPreferredSize, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paint, paramString, postEvent, preferredSize, prepareImage, prepareImage, printAll, print, processComponentEvent, processEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFont, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, update, validate |
Methods inherited from class java.lang.Object | |
clone, equals, finalize, getClass, hashCode, notifyAll, notify, toString, wait, wait, wait |
Field Detail |
public static final int AUTO_RESIZE_OFF
public static final int AUTO_RESIZE_LAST_COLUMN
public static final int AUTO_RESIZE_ALL_COLUMNS
protected TableModel dataModel
protected TableColumnModel columnModel
protected ListSelectionModel selectionModel
protected JTableHeader tableHeader
protected int rowHeight
protected int rowMargin
protected java.awt.Color gridColor
protected boolean showHorizontalLines
protected boolean showVerticalLines
protected int autoResizeMode
protected boolean autoCreateColumnsFromModel
protected java.awt.Dimension preferredViewportSize
protected boolean rowSelectionAllowed
protected boolean cellSelectionEnabled
protected transient java.awt.Component editorComp
protected transient TableCellEditor cellEditor
protected transient int editingColumn
protected transient int editingRow
protected transient java.util.Hashtable defaultRenderersByColumnClass
protected transient java.util.Hashtable defaultEditorsByColumnClass
protected java.awt.Color selectionForeground
protected java.awt.Color selectionBackground
Constructor Detail |
public JTable()
public JTable(TableModel dm)
dm
- The data model for the tablepublic JTable(TableModel dm, TableColumnModel cm)
dm
- The data model for the table
cm
- The column model for the tablepublic JTable(TableModel dm, TableColumnModel cm, ListSelectionModel sm)
dm
- The data model for the table
cm
- The column model for the table
sm
- The row selection model for the tablepublic JTable(int numRows, int numColumns)
numRows
- The number of rows the table holds
numColumns
- The number of columns the table holdspublic JTable(java.util.Vector rowData, java.util.Vector columnNames)
((Vector)rowData.elementAt(1)).elementAt(5);
All rows must be of the same length as columnNames.
rowData
- The data for the new table
columnNames
- Names of each columnpublic JTable(java.lang.Object[][] rowData, java.lang.Object[] columnNames)
rowData[1][5];
All rows must be of the same length as columnNames.
rowData
- The data for the new table
columnNames
- Names of each columnMethod Detail |
public void addNotify()
configureEnclosingScrollPane
.protected void configureEnclosingScrollPane()
new JScrollPane(myTable)
, addNotify
is
called in the JTable (when the table is added to the viewport).
JTable's addNotify
method in turn calls this method
which is protected so that this default installation procedure can
be overridden by a subclass.public static JScrollPane createScrollPaneForTable(JTable aTable)
new JScrollPane(aTable)
.new JScrollPane(aTable)
.public void setTableHeader(JTableHeader newHeader)
newHeader
- new tableHeaderpublic JTableHeader getTableHeader()
public void setRowHeight(int newHeight)
newRowHeight
- new row heightpublic int getRowHeight()
public void setIntercellSpacing(java.awt.Dimension newSpacing)
newSpacing
- The new width and height intercellSpacingpublic java.awt.Dimension getIntercellSpacing()
public void setGridColor(java.awt.Color newColor)
color
- new color of the gridpublic java.awt.Color getGridColor()
public void setShowGrid(boolean b)
flag
- true if table view should draw grid linespublic void setShowHorizontalLines(boolean b)
flag
- true if table view should draw horizontal linespublic void setShowVerticalLines(boolean b)
flag
- true if table view should draw vertical linespublic boolean getShowHorizontalLines()
public boolean getShowVerticalLines()
public void setAutoResizeMode(int mode)
mode
- One of 3 legal values: AUTO_RESIZE_OFF,
AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_ALL_COLUMNSpublic int getAutoResizeMode()
public void setAutoCreateColumnsFromModel(boolean createColumns)
createColumns
- true if JTable should auto create columnspublic boolean getAutoCreateColumnsFromModel()
public void createDefaultColumnsFromModel()
This method will clear any exsiting columns before creating the new columns based on information from the model.
public void setDefaultRenderer(java.lang.Class columnClass, TableCellRenderer renderer)
public TableCellRenderer getDefaultRenderer(java.lang.Class columnClass)
public void setDefaultEditor(java.lang.Class columnClass, TableCellEditor editor)
public TableCellEditor getDefaultEditor(java.lang.Class columnClass)
public void setSelectionMode(int selectionMode)
Both the row and column selection models for the JTable default to using a DefaultListSelectionModel so that JTable works the same way as the JList. See setSelectionMode() in JList for details about the modes.
public void setRowSelectionAllowed(boolean flag)
public boolean getRowSelectionAllowed()
public void setColumnSelectionAllowed(boolean flag)
public boolean getColumnSelectionAllowed()
public void setCellSelectionEnabled(boolean flag)
public boolean getCellSelectionEnabled()
public void selectAll()
public void clearSelection()
public void setRowSelectionInterval(int index0, int index1)
index0
- one end of the interval.
index1
- other end of the intervalpublic void setColumnSelectionInterval(int index0, int index1)
index0
- one end of the interval.
index1
- other end of the intervalpublic void addRowSelectionInterval(int index0, int index1)
index0
- one end of the interval.
index1
- other end of the intervalpublic void addColumnSelectionInterval(int index0, int index1)
index0
- one end of the interval.
index1
- other end of the intervalpublic void removeRowSelectionInterval(int index0, int index1)
index0
- one end of the interval.
index1
- other end of the intervalpublic void removeColumnSelectionInterval(int index0, int index1)
index0
- one end of the interval.
index1
- other end of the intervalpublic int getSelectedRow()
public int getSelectedColumn()
public int[] getSelectedRows()
public int[] getSelectedColumns()
public int getSelectedRowCount()
public int getSelectedColumnCount()
public boolean isRowSelected(int row)
public boolean isColumnSelected(int column)
public boolean isCellSelected(int row, int column)
public java.awt.Color getSelectionForeground()
public void setSelectionForeground(java.awt.Color selectionForeground)
The default value of this property is defined by the look and feel implementation.
This is a JavaBeans bound property.
selectionForeground
- the Color to use in the foreground
for selected list itemspublic java.awt.Color getSelectionBackground()
public void setSelectionBackground(java.awt.Color selectionBackground)
The default value of this property is defined by the look and feel implementation.
This is a JavaBeans bound property.
selectionBackground
- the Color to use for the background
of selected cellspublic TableColumn getColumn(java.lang.Object identifier)
identifier
- the identifier objectpublic int convertColumnIndexToModel(int viewColumnIndex)
public int convertColumnIndexToView(int modelColumnIndex)
public int getRowCount()
public int getColumnCount()
public java.lang.String getColumnName(int column)
public java.lang.Class getColumnClass(int column)
public java.lang.Object getValueAt(int row, int column)
NOTE: The column is specified in the table view's display order, and not in the TableModel's column order. This is an important distinction because as the user rearranges the columns in the table, what is at column 2 changes. Meanwhile the user's actions never affect the model's column ordering.
row
- the row whose value is to be looked up
column
- the column whose value is to be looked uppublic void setValueAt(java.lang.Object aValue, int row, int column)
aValue
- the new value
row
- the row whose value is to be changed
column
- the column whose value is to be changedpublic boolean isCellEditable(int row, int column)
row
- the row whose value is to be looked up
column
- the column whose value is to be looked uppublic void addColumn(TableColumn aColumn)
getModel().getColumnName()
.
To add a column to the JTable to display the modelColumn'th column of data in the model, with a given width, cellRenderer and cellEditor you can use:
addColumn(new TableColumn(modelColumn, width, cellRenderer, cellEditor));[All of the other constructors in the TableColumn can be used in place of this one.] The model column is stored inside the TableColumn and is used during rendering and editing to locate the appropriate data values in the model. The model column does not change when columns are reordered in the view.
aColumn
- The TableColumn to be addedpublic void removeColumn(TableColumn aColumn)
aColumn
- The TableColumn to be removedpublic void moveColumn(int column, int targetColumn)
column
- the index of column to be moved
targetColumn
- the new index of the columnpublic int columnAtPoint(java.awt.Point point)
public int rowAtPoint(java.awt.Point point)
public java.awt.Rectangle getCellRect(int row, int column, boolean includeSpacing)
row
- the row to compute
column
- the column to compute
includeSpacing
- if true, the rect returned will
include the correct
intercellSpacingpublic void sizeColumnsToFit(boolean lastColumnOnly)
Note: It is possible that even after this method is called, the total width of the columns is still not be equal to the width of the table. eg. A table with a single column, the column has a minimum width of 20, and the tableView has a width of 10. And there is nothing I can do about that.
lastColumnOnly
- Try to change the last column only if truepublic java.lang.String getToolTipText(java.awt.event.MouseEvent event)
NOTE: For JTable to properly display tooltips of its renderers JTable must be a registered component with the ToolTipManager. This is done automatically in initializeLocalVars(), but if at a later point JTable is told setToolTipText(null) it will unregister the table component, and no tips from renderers will display anymore.
public boolean editCellAt(int row, int column)
row
- the row to be edited
column
- the column to be editedpublic boolean editCellAt(int row, int column, java.util.EventObject e)
row
- the row to be edited
column
- the column to be edited
e
- event to pass into
shouldSelectCellpublic boolean isEditing()
public java.awt.Component getEditorComponent()
public int getEditingColumn()
public int getEditingRow()
public com.sun.java.swing.plaf.TableUI getUI()
public void setUI(com.sun.java.swing.plaf.TableUI ui)
ui
- the TableUI L&F objectpublic void updateUI()
public java.lang.String getUIClassID()
public void setModel(TableModel newModel)
newModel
- the new data source for this tablepublic TableModel getModel()
public void setColumnModel(TableColumnModel newModel)
newModel
- the new data source for this tablepublic TableColumnModel getColumnModel()
public void setSelectionModel(ListSelectionModel newModel)
newModel
- the new selection modelpublic ListSelectionModel getSelectionModel()
public void tableChanged(TableModelEvent e)
public void columnAdded(TableColumnModelEvent e)
public void columnRemoved(TableColumnModelEvent e)
public void columnMoved(TableColumnModelEvent e)
public void columnMarginChanged(ChangeEvent e)
public void columnSelectionChanged(ListSelectionEvent e)
public void valueChanged(ListSelectionEvent e)
public void editingStopped(ChangeEvent e)
public void editingCanceled(ChangeEvent e)
public void setPreferredScrollableViewportSize(java.awt.Dimension size)
size
- a Dimension object specifying the preferredSize of a
JViewport whose view is this tablepublic java.awt.Dimension getPreferredScrollableViewportSize()
public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
This method is called each time the user requests a unit scroll.
visibleRect
- The view area visible within the viewport
orientation
- Either SwingConstants.VERTICAL or SwingConstants.HORIZONTAL.
direction
- Less than zero to scroll up/left, greater than zero for down/right.public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
public boolean getScrollableTracksViewportWidth()
public boolean getScrollableTracksViewportHeight()
protected void createDefaultRenderers()
protected void createDefaultEditors()
protected void initializeLocalVars()
protected TableModel createDefaultDataModel()
protected TableColumnModel createDefaultColumnModel()
protected ListSelectionModel createDefaultSelectionModel()
protected JTableHeader createDefaultTableHeader()
protected void resizeAndRepaint()
public TableCellEditor getCellEditor()
public void setCellEditor(TableCellEditor anEditor)
anEditor
- the TableCellEditor that does the editingpublic void setEditingColumn(int aColumn)
public void setEditingRow(int aRow)
public boolean isOpaque()
public java.awt.Component prepareEditor(TableCellEditor editor, int row, int column)
editor
- the TableCellEditor to set up
row
- the row of the cell to edit, where 0 is the first
column
- the column of the cell to edit, where 0 is the firstpublic void removeEditor()
public AccessibleContext getAccessibleContext()
Overview | Package | Class | Tree | Deprecated | Index | Help |
Java Platform 1.1.7 |
||
PREV CLASS | NEXT CLASS | FRAMES | NO FRAMES | ||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |