|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JTable
public class JTable
JTable 用来显示和编辑常规二维单元表。有关面向任务的文档和使用 JTable 的示例,请参阅 The Java Tutorial 中的 How to Use Tables 一节。
JTable 有很多用来自定义其呈现和编辑的工具,同时提供了这些功能的默认设置,从而可以轻松地设置简单表。例如,要设置一个 10 行 10 列的表:
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);
注意,如果要在单独的视图中(在 JScrollPane 外)使用 JTable 并显示表标题,则可以使用 getTableHeader() 获取并单独显示它。
要启用行的排序和过滤,请使用 RowSorter。可以通过以下两种方式之一设置一个行排序器。
RowSorter。例如:table.setRowSorter(new TableRowSorter(model))。
autoCreateRowSorter 属性设置为 true,从而 JTable 可用于创建 RowSorter。例如:setAutoCreateRowSorter(true)。
设计使用 JTable 的应用程序时,务必要注意用来表示表数据的数据结构。DefaultTableModel 是一个模型实现,它使用一个 Vector 来存储所有单元格的值,该 Vector 由包含多个 Object 的 Vector 组成。除了将数据从应用程序复制到 DefaultTableModel 中之外,还可以用 TableModel 接口的方法来包装数据,这样可将数据直接传递到 JTable,如上例所示。这通常可以提高应用程序的效率,因为模型可以自由选择最适合数据的内部表示形式。在决定使用 AbstractTableModel 还是使用 DefaultTableModel 方面有一个好的实践经验,即在创建子类时使用 AbstractTableModel 作为基类,在不需要创建子类时则使用 DefaultTableModel。
源分布演示部分中的 "TableExample" 目录给出了许多 JTable 用法的完整示例,包括如何使用 JTable 来提供一个可编辑的数据视图(数据取自数据库),以及如何修改显示的列以使用指定的渲染器和编辑器。
JTable 使用专有的整数来引用它所显示的模型的行和列。JTable 采用表格的单元格范围,并在绘制时使用 getValueAt(int, int) 从模型中获取值。务必记住各种 JTable 方法所返回的列和行索引是就 JTable(视图)而言的,不一定是模型所使用的那些索引。
默认情况下,在 JTable 中对列进行重新安排,这样在视图中列的出现顺序与模型中列的顺序不同。但这根本不影响模型的实现:当列重新排列时,JTable 在内部保持列的新顺序,并在查询模型前转换其列索引。
因此编写 TableModel 时,不必侦听列的重排事件,因为不管视图怎样,模型都将在其自己的坐标系统被查询。在示例部分中有一个排序算法的演示,此演示正是使用了此技术在另一个坐标系统中进行排序,其中更改了行顺序,没有更改列顺序。
类似地,使用 RowSorter 提供的排序和过滤功能时,底层 TableModel 不需要知道怎样进行排序,RowSorter 将处理它。对底层 TableModel 使用 JTable 的基于行的方法时,必须进行坐标转换。所有基于 JTable 行的方法都是就 RowSorter 而言的,不一定与底层 TableModel 的方法相同。例如,选择始终是就 JTable 而言的,因此使用 RowSorter 时,需要使用 convertRowIndexToView 或 convertRowIndexToModel 进行转换。以下代码显示了如何将 JTable 的坐标转换为底层模型的坐标:
int[] selection = table.getSelectedRows();
for (int i = 0; i < selection.length; i++) {
selection[i] = table.convertRowIndexToModel(selection[i]);
}
// selection is now in terms of the underlying TableModel
默认情况下,如果启用排序,那么排序时 JTable 将保留基于模型的选择和可变行高度。例如,如果当前选择行 0(就底层模型而言),那么排序之后将选择行 0(就底层模型而言)。选择有可能看起来被更改了,但就底层模型而言它仍然保持不变。模型索引不再可见或者被移除时除外。例如,如果行 0 被过滤掉了,那么选择在排序后将为空。
J2SE 5 在 JTable 中添加了一些方法,为某些普通打印需求提供方便的访问。print() 是一个简单的新方法,它允许快速简单地向应用程序添加打印支持。此外,新的 getPrintable(javax.swing.JTable.PrintMode, java.text.MessageFormat, java.text.MessageFormat) 方法可用于更高级的打印需求。
对于所有的 JComponent 类,可以使用 InputMap 和 ActionMap 将 Action 对象与 KeyStroke 进行关联,并在指定的条件下执行动作。
警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy。
警告:此类的序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans 包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder。
| 嵌套类摘要 | |
|---|---|
protected class |
JTable.AccessibleJTable
此类实现对 JTable 类的可访问性支持。 |
static class |
JTable.DropLocation
TransferHandler.DropLocation 的一个子类,表示 JTable 的放置位置 (drop location)。 |
static class |
JTable.PrintMode
用于打印 JTable 的打印模式。 |
| 从类 javax.swing.JComponent 继承的嵌套类/接口 |
|---|
JComponent.AccessibleJComponent |
| 从类 java.awt.Container 继承的嵌套类/接口 |
|---|
Container.AccessibleAWTContainer |
| 从类 java.awt.Component 继承的嵌套类/接口 |
|---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
| 字段摘要 | |
|---|---|
static int |
AUTO_RESIZE_ALL_COLUMNS
在所有的调整大小操作中,按比例调整所有的列。 |
static int |
AUTO_RESIZE_LAST_COLUMN
在所有的调整大小操作中,只对最后一列进行调整。 |
static int |
AUTO_RESIZE_NEXT_COLUMN
在 UI 中调整了一个列时,对其下一列进行相反方向的调整。 |
static int |
AUTO_RESIZE_OFF
不自动调整列的宽度;使用滚动条。 |
static int |
AUTO_RESIZE_SUBSEQUENT_COLUMNS
在 UI 调整中,更改后续列以保持总宽度不变;此为默认行为。 |
protected boolean |
autoCreateColumnsFromModel
如果为 true,则表对 TableModel 进行查询以构建默认列集。 |
protected int |
autoResizeMode
确定表是否自动调整列的宽度以占用表的整个宽度,以及如何进行调整。 |
protected TableCellEditor |
cellEditor
活动单元格编辑器对象,它重写当前单元格占用的屏幕空间,并允许用户更改其内容。 |
protected boolean |
cellSelectionEnabled
从 Java 2 平台 v1.3 开始已过时。 |
protected TableColumnModel |
columnModel
表的 TableColumnModel。 |
protected TableModel |
dataModel
表的 TableModel。 |
protected Hashtable |
defaultEditorsByColumnClass
一个由对象组成的表,它显示并编辑单元格的内容,通过在 TableModel 接口的 getColumnClass 中所声明的类建立索引。 |
protected Hashtable |
defaultRenderersByColumnClass
一个由对象组成的表,它显示单元格的内容,通过在 TableModel 接口的 getColumnClass 中所声明的类建立索引。 |
protected int |
editingColumn
标识所编辑的单元格的列。 |
protected int |
editingRow
标识所编辑的单元格的行。 |
protected Component |
editorComp
在编辑时处理编辑的 Component。 |
protected Color |
gridColor
网格的颜色。 |
protected Dimension |
preferredViewportSize
Scrollable 接口使用它来确定初始的可见区域。 |
protected int |
rowHeight
表中每一行的高度,以像素为单位。 |
protected int |
rowMargin
每行中单元格之间间距的高度,以像素为单位。 |
protected boolean |
rowSelectionAllowed
如果行选择在此表中是允许的,则返回 true。 |
protected Color |
selectionBackground
已选定单元格的背景色。 |
protected Color |
selectionForeground
已选定单元格的前景色。 |
protected ListSelectionModel |
selectionModel
表的 ListSelectionModel,用来追踪行选择。 |
protected boolean |
showHorizontalLines
如果 showHorizontalLines 为 true,则表在单元格之间绘制水平行。 |
protected boolean |
showVerticalLines
如果 showVerticalLines 为 true,则表在单元格之间绘制垂直行。 |
protected JTableHeader |
tableHeader
表所使用的 TableHeader。 |
| 从类 javax.swing.JComponent 继承的字段 |
|---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| 从类 java.awt.Component 继承的字段 |
|---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| 从接口 java.awt.image.ImageObserver 继承的字段 |
|---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| 构造方法摘要 | |
|---|---|
JTable()
构造一个默认的 JTable,使用默认的数据模型、默认的列模型和默认的选择模型对其进行初始化。 |
|
JTable(int numRows,
int numColumns)
使用 DefaultTableModel 构造具有 numRows 行和 numColumns 列个空单元格的 JTable。 |
|
JTable(Object[][] rowData,
Object[] columnNames)
构造一个 JTable 来显示二维数组 rowData 中的值,其列名称为 columnNames。 |
|
JTable(TableModel dm)
构造一个 JTable,使用数据模型 dm、默认的列模型和默认的选择模型对其进行初始化。 |
|
JTable(TableModel dm,
TableColumnModel cm)
构造一个 JTable,使用数据模型 dm、列模型 cm 和默认的选择模型对其进行初始化。 |
|
JTable(TableModel dm,
TableColumnModel cm,
ListSelectionModel sm)
构造一个 JTable,使用数据模型 dm、列模型 cm 和选择模型 sm 对其进行初始化。 |
|
JTable(Vector rowData,
Vector columnNames)
构造一个 JTable 来显示 Vector 所组成的 Vector rowData 中的值,其列名称为 columnNames。 |
|
| 方法摘要 | |
|---|---|
void |
addColumn(TableColumn aColumn)
将 aColumn 追加到此 JTable 的列模型所保持的列数组的尾部。 |
void |
addColumnSelectionInterval(int index0,
int index1)
将从 index0 到 index1 之间(包含两端)的列添加到当前选择中。 |
void |
addNotify()
调用 configureEnclosingScrollPane 方法。 |
void |
addRowSelectionInterval(int index0,
int index1)
将从 index0 到 index1 之间(包含两端)的行添加到当前选择中。 |
void |
changeSelection(int rowIndex,
int columnIndex,
boolean toggle,
boolean extend)
根据 toggle 和 extend 这两个标志的状态,更新表的选择模型。 |
void |
clearSelection()
取消选中所有已选定的行和列。 |
void |
columnAdded(TableColumnModelEvent e)
将列添加到表的列模型时调用。 |
int |
columnAtPoint(Point point)
返回 point 所在的列索引;如果结果不在 [0, getColumnCount()-1] 范围内,则返回 -1。 |
void |
columnMarginChanged(ChangeEvent e)
当列由于间距的更改而被移动时调用。 |
void |
columnMoved(TableColumnModelEvent e)
重新定位列时调用。 |
void |
columnRemoved(TableColumnModelEvent e)
从表的列模型中移除列时调用。 |
void |
columnSelectionChanged(ListSelectionEvent e)
TableColumnModel 的选择模型更改时调用。 |
protected void |
configureEnclosingScrollPane()
如果此 JTable 是一个封闭 JScrollPane 的 viewportView(通常情况如此),那么可通过安装表的 tableHeader 作为滚动窗格的 columnHeaderView 来配置此 ScrollPane。 |
int |
convertColumnIndexToModel(int viewColumnIndex)
将视图中位于 viewColumnIndex 的列索引映射到表模型中的列索引。 |
int |
convertColumnIndexToView(int modelColumnIndex)
将表模型中位于 modelColumnIndex 的列索引映射到视图中的列索引。 |
int |
convertRowIndexToModel(int viewRowIndex)
将基于视图的行索引映射到底层 TableModel。 |
int |
convertRowIndexToView(int modelRowIndex)
将基于 TableModel 的行索引映射到该视图。 |
protected TableColumnModel |
createDefaultColumnModel()
返回默认的列模型对象,它是一个 DefaultTableColumnModel。 |
void |
createDefaultColumnsFromModel()
使用 TableModel 接口中定义的 getColumnCount 方法根据数据模型创建默认的表列。 |
protected TableModel |
createDefaultDataModel()
返回默认的表模型对象,它是一个 DefaultTableModel。 |
protected void |
createDefaultEditors()
为 object、number 和 boolean 值创建默认的单元格编辑器。 |
protected void |
createDefaultRenderers()
为 object、number、double、date、boolean 和 icon 创建默认的单元格渲染器。 |
protected ListSelectionModel |
createDefaultSelectionModel()
返回默认的选择模型对象,它是一个 DefaultListSelectionModel。 |
protected JTableHeader |
createDefaultTableHeader()
返回默认的表标题对象,它是一个 JTableHeader。 |
static JScrollPane |
createScrollPaneForTable(JTable aTable)
已过时。 从 Swing version 1.0.2 开始,由 new JScrollPane(aTable) 取代。 |
void |
doLayout()
使此表布局其行和列。 |
boolean |
editCellAt(int row,
int column)
如果 row 和 column 位置的索引在有效范围内,并且这些索引处的单元格是可编辑的,则以编程方式启动该位置单元格的编辑。 |
boolean |
editCellAt(int row,
int column,
EventObject e)
如果 row 和 column 位置的索引在有效范围内,并且这些索引处的单元格是可编辑的,则以编程方式启动该位置单元格的编辑。 |
void |
editingCanceled(ChangeEvent e)
编辑取消时调用。 |
void |
editingStopped(ChangeEvent e)
编辑结束时调用。 |
AccessibleContext |
getAccessibleContext()
获取与此 JTable 关联的 AccessibleContext。 |
boolean |
getAutoCreateColumnsFromModel()
确定表是否要根据模型创建默认的列。 |
boolean |
getAutoCreateRowSorter()
如果每当模型更改时,都应该创建一个新 RowSorter 并作为该表的排序器安装,则返回 true;否则,返回 false。 |
int |
getAutoResizeMode()
返回表的自动调整模式。 |
TableCellEditor |
getCellEditor()
返回活动单元格编辑器;如果该表当前没有被编辑,则返回 null。 |
TableCellEditor |
getCellEditor(int row,
int column)
返回适用于由 row 和 column 所指定单元格的编辑器。 |
Rectangle |
getCellRect(int row,
int column,
boolean includeSpacing)
返回位于 row 和 column 相交位置的单元格矩形。 |
TableCellRenderer |
getCellRenderer(int row,
int column)
返回适于由此行和列所指定单元格的渲染器。 |
boolean |
getCellSelectionEnabled()
如果同时启用了行选择模型和列选择模型,则返回 true。 |
TableColumn |
getColumn(Object identifier)
返回表中列的 TableColumn 对象,当使用 equals 进行比较时,表的标识符等于 identifier。 |
Class<?> |
getColumnClass(int column)
返回出现在视图中 column 列位置处的列类型。 |
int |
getColumnCount()
返回列模型中的列数。 |
TableColumnModel |
getColumnModel()
返回包含此表所有列信息的 TableColumnModel。 |
String |
getColumnName(int column)
返回出现在视图中 column 列位置处的列名称。 |
boolean |
getColumnSelectionAllowed()
如果可以选择列,则返回 true。 |
TableCellEditor |
getDefaultEditor(Class<?> columnClass)
尚未在 TableColumn 中设置编辑器时,返回要使用的编辑器。 |
TableCellRenderer |
getDefaultRenderer(Class<?> columnClass)
尚未在 TableColumn 中设置渲染器时,返回要使用的单元格渲染器。 |
boolean |
getDragEnabled()
返回是否启用自动拖动处理。 |
JTable.DropLocation |
getDropLocation()
返回对组件的 DnD 操作期间此组件应该可见地指示为放置位置的位置;如果当前没有显示任何位置,则返回 null。 |
DropMode |
getDropMode()
返回此组件的放置模式。 |
int |
getEditingColumn()
返回包含当前被编辑的单元格的列索引。 |
int |
getEditingRow()
返回包含当前被编辑的单元格的行索引。 |
Component |
getEditorComponent()
返回处理编辑会话的组件。 |
boolean |
getFillsViewportHeight()
返回此表是否始终大到足以填充封闭视口的高度。 |
Color |
getGridColor()
返回用来绘制网格线的颜色。 |
Dimension |
getIntercellSpacing()
返回单元格之间的水平间距和垂直间距。 |
TableModel |
getModel()
返回提供此 JTable 所显示数据的 TableModel。 |
Dimension |
getPreferredScrollableViewportSize()
返回此表视口的首选大小。 |
Printable |
getPrintable(JTable.PrintMode printMode,
MessageFormat headerFormat,
MessageFormat footerFormat)
返回打印此 JTable 中所使用的 Printable。 |
int |
getRowCount()
返回 JTable 中可以显示的行数(给定无限空间)。 |
int |
getRowHeight()
返回表的行高,以像素为单位。 |
int |
getRowHeight(int row)
返回 row 中单元格的高度,以像素为单位。 |
int |
getRowMargin()
获取单元格之间的间距,以像素为单位。 |
boolean |
getRowSelectionAllowed()
如果可以选择行,则返回 true。 |
RowSorter<? extends TableModel> |
getRowSorter()
返回负责排序的对象。 |
int |
getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction)
返回 visibleRect.height 或 visibleRect.width,这取决于此表的方向。 |
boolean |
getScrollableTracksViewportHeight()
返回 false 指示表的高度不是由视口的高度决定的,除非 getFillsViewportHeight 为 true 并且该表的首选高度小于视口的高度。 |
boolean |
getScrollableTracksViewportWidth()
如果 autoResizeMode 设置为 AUTO_RESIZE_OFF,则返回 false,这指示表的宽度不是由视口的宽度决定的。 |
int |
getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
返回完全呈现出一个新行或新列(取决于方向)的滚动增量(以像素为单位)。 |
int |
getSelectedColumn()
返回第一个选定列的索引;如果没有选定的列,则返回 -1。 |
int |
getSelectedColumnCount()
返回选定列数。 |
int[] |
getSelectedColumns()
返回所有选定列的索引。 |
int |
getSelectedRow()
返回第一个选定行的索引;如果没有选定的行,则返回 -1。 |
int |
getSelectedRowCount()
返回选定行数。 |
int[] |
getSelectedRows()
返回所有选定行的索引。 |
Color |
getSelectionBackground()
返回选定单元格的背景色。 |
Color |
getSelectionForeground()
返回选定单元格的前景色。 |
ListSelectionModel |
getSelectionModel()
返回用来维持行选择状态的 ListSelectionModel。 |
boolean |
getShowHorizontalLines()
如果表绘制单元格之间的水平线,则返回 true,否则返回 false。 |
boolean |
getShowVerticalLines()
如果表绘制单元格之间的垂直线,则返回 true,否则返回 false。 |
boolean |
getSurrendersFocusOnKeystroke()
如果在键击导致编辑器被激活时编辑器应该获得焦点,则返回 true |
JTableHeader |
getTableHeader()
返回此 JTable 所使用的 tableHeader。 |
String |
getToolTipText(MouseEvent event)
重写 JComponent 的 getToolTipText 方法,从而允许使用渲染器的提示(如果设置了文本)。 |
TableUI |
getUI()
返回呈现此组件的 L&F 对象。 |
String |
getUIClassID()
返回用于构造呈现此组件时所用 L&F 类名称的后缀。 |
boolean |
getUpdateSelectionOnSort()
如果排序后应该更新选择,则返回 true。 |
Object |
getValueAt(int row,
int column)
返回 row 和 column 位置的单元格值。 |
protected void |
initializeLocalVars()
将表的属性初始化为其默认值。 |
boolean |
isCellEditable(int row,
int column)
如果 row 和 column 位置的单元格是可编辑的,则返回 true。 |
boolean |
isCellSelected(int row,
int column)
如果指定的索引位于行和列的有效范围内,并且位于该指定位置的单元格被选定,则返回 true。 |
boolean |
isColumnSelected(int column)
如果指定的索引位于列的有效范围内,并且位于该索引的列被选定,则返回 true。 |
boolean |
isEditing()
如果正在编辑单元格,则返回 true。 |
boolean |
isRowSelected(int row)
如果指定的索引位于行的有效范围内,并且位于该索引的行被选定,则返回 true。 |
void |
moveColumn(int column,
int targetColumn)
将视图中的 column 列移动到当前被 targetColumn 列所占用的位置。 |
protected String |
paramString()
返回此表的字符串表示形式。 |
Component |
prepareEditor(TableCellEditor editor,
int row,
int column)
通过查询 row、column 处单元格值的数据模型和单元格选择状态来准备编辑器。 |
Component |
prepareRenderer(TableCellRenderer renderer,
int row,
int column)
通过查询 row、column 处单元格值的数据模型和单元格选择状态来准备渲染器。 |
boolean |
print()
一个便捷的方法,它显示一个打印对话框,然后以 PrintMode.FIT_WIDTH 模式打印此 JTable,不打印标题或脚注文本。 |
boolean |
print(JTable.PrintMode printMode)
一个便捷的方法,它显示一个打印对话框,然后以给定的打印模式打印此 JTable,不打印标题或脚注文本。 |
boolean |
print(JTable.PrintMode printMode,
MessageFormat headerFormat,
MessageFormat footerFormat)
一个便捷的方法,它显示一个打印对话框,然后以给定的打印模式打印此 JTable,打印指定的标题和脚注文本。 |
boolean |
print(JTable.PrintMode printMode,
MessageFormat headerFormat,
MessageFormat footerFormat,
boolean showPrintDialog,
PrintRequestAttributeSet attr,
boolean interactive)
根据完全功能 print 方法的指定打印此表,将默认打印机指定为打印服务。 |
boolean |
print(JTable.PrintMode printMode,
MessageFormat headerFormat,
MessageFormat footerFormat,
boolean showPrintDialog,
PrintRequestAttributeSet attr,
boolean interactive,
PrintService service)
打印此 JTable。 |
protected boolean |
processKeyBinding(KeyStroke ks,
KeyEvent e,
int condition,
boolean pressed)
由于发生 KeyEvent e 而调用此方法处理 ks 的键绑定。 |
void |
removeColumn(TableColumn aColumn)
从此 JTable 的列数组中移除 aColumn。 |
void |
removeColumnSelectionInterval(int index0,
int index1)
取消选中从 index0 到 index1 之间(包含两端)的列。 |
void |
removeEditor()
丢弃编辑器对象并释放它用于单元格呈现的资源。 |
void |
removeNotify()
调用 unconfigureEnclosingScrollPane 方法。 |
void |
removeRowSelectionInterval(int index0,
int index1)
取消选中从 index0 到 index1 之间(包含两端)的行。 |
protected void |
resizeAndRepaint()
等效于先调用 revalidate 再调用 repaint。 |
int |
rowAtPoint(Point point)
返回 point 所在的行索引;如果结果不在 [0, getRowCount()-1] 范围内,则返回 -1。 |
void |
selectAll()
选择表中的所有行、列和单元格。 |
void |
setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
设置此表的 autoCreateColumnsFromModel 标志。 |
void |
setAutoCreateRowSorter(boolean autoCreateRowSorter)
指定其模型更改时是否应该为表创建一个 RowSorter。 |
void |
setAutoResizeMode(int mode)
当调整表的大小时,设置表的自动调整模式。 |
void |
setCellEditor(TableCellEditor anEditor)
设置活动单元格编辑器。 |
void |
setCellSelectionEnabled(boolean cellSelectionEnabled)
设置此表是否允许同时存在行选择和列选择。 |
void |
setColumnModel(TableColumnModel columnModel)
将此表的列模型设置为 newModel,并向其注册以获取来自新数据模型的侦听器通知。 |
void |
setColumnSelectionAllowed(boolean columnSelectionAllowed)
设置是否可以选择此模型中的列。 |
void |
setColumnSelectionInterval(int index0,
int index1)
选择从 index0 到 index1 之间(包含两端)的列。 |
void |
setDefaultEditor(Class<?> columnClass,
TableCellEditor editor)
如果尚未在 TableColumn 中设置编辑器,则设置要使用的默认单元格编辑器。 |
void |
setDefaultRenderer(Class<?> columnClass,
TableCellRenderer renderer)
如果没有在 TableColumn 中设置渲染器,则设置要使用的默认单元格渲染器。 |
void |
setDragEnabled(boolean b)
打开或关闭自动拖动处理。 |
void |
setDropMode(DropMode dropMode)
设置此组件的放置模式。 |
void |
setEditingColumn(int aColumn)
设置 editingColumn 变量。 |
void |
setEditingRow(int aRow)
设置 editingRow 变量。 |
void |
setFillsViewportHeight(boolean fillsViewportHeight)
设置此表是否始终大到足以填充封闭视口的高度。 |
void |
setGridColor(Color gridColor)
将用来绘制网格线的颜色设置为 gridColor 并重新显示它。 |
void |
setIntercellSpacing(Dimension intercellSpacing)
将 rowMargin 和 columnMargin(单元格之间间距的高度和宽度)设置为 intercellSpacing。 |
void |
setModel(TableModel dataModel)
将此表的数据模型设置为 newModel,并向其注册以获取来自新数据模型的侦听器通知。 |
void |
setPreferredScrollableViewportSize(Dimension size)
设置此表视口的首选大小。 |
void |
setRowHeight(int rowHeight)
将所有单元格的高度设置为 rowHeight(以像素为单位),重新验证并重新绘制它。 |
void |
setRowHeight(int row,
int rowHeight)
将 row 的高度设置为 rowHeight,重新验证并重新绘制它。 |
void |
setRowMargin(int rowMargin)
设置相临行中单元格之间的间距。 |
void |
setRowSelectionAllowed(boolean rowSelectionAllowed)
设置是否可以选择此模型中的行。 |
void |
setRowSelectionInterval(int index0,
int index1)
选择从 index0 到 index1 之间(包含两端)的行。 |
void |
setRowSorter(RowSorter<? extends TableModel> sorter)
设置 RowSorter。 |
void |
setSelectionBackground(Color selectionBackground)
设置选定单元格的背景色。 |
void |
setSelectionForeground(Color selectionForeground)
设置选定单元格的前景色。 |
void |
setSelectionMode(int selectionMode)
将表的选择模式设置为只允许单个选择、单个连续间隔选择或多间隔选择。 |
void |
setSelectionModel(ListSelectionModel newModel)
将此表的行选择模型设置为 newModel,并向其注册以获取来自新数据模型的侦听器通知。 |
void |
setShowGrid(boolean showGrid)
设置表是否绘制单元格周围的网格线。 |
void |
setShowHorizontalLines(boolean showHorizontalLines)
设置表是否绘制单元格之间的水平线。 |
void |
setShowVerticalLines(boolean showVerticalLines)
设置表是否绘制单元格之间的垂直线。 |
void |
setSurrendersFocusOnKeystroke(boolean surrendersFocusOnKeystroke)
设置由于 JTable 为某个单元格转发键盘事件而导致编辑器被激活时,此 JTable 中的编辑器是否获得键盘焦点。 |
void |
setTableHeader(JTableHeader tableHeader)
将此 JTable 所使用的 tableHeader 设置为 newHeader。 |
void |
setUI(TableUI ui)
设置呈现此组件并进行重新绘制的 L&F 对象。 |
void |
setUpdateSelectionOnSort(boolean update)
指定排序后是否应该更新选择。 |
void |
setValueAt(Object aValue,
int row,
int column)
设置表模型中 row 和 column 位置的单元格值。 |
void |
sizeColumnsToFit(boolean lastColumnOnly)
已过时。 从 Swing version 1.0.3 开始,由 doLayout() 取代。 |
void |
sizeColumnsToFit(int resizingColumn)
从 Java 2 平台 v1.4 开始已过时。 |
void |
sorterChanged(RowSorterEvent e)
RowSorter 以某种方式发生了更改的 RowSorterListener 通知。 |
void |
tableChanged(TableModelEvent e)
当此表的 TableModel 生成 TableModelEvent 时调用。 |
protected void |
unconfigureEnclosingScrollPane()
通过将封闭滚动窗格的 columnHeaderView 替换为 null,可以起到 configureEnclosingScrollPane 的相反作用。 |
void |
updateUI()
UIManager 发出的表明 L&F 已经更改的通知。 |
void |
valueChanged(ListSelectionEvent e)
行选择更改时调用,重新绘制来显示新的选择。 |