public interface TableCellRenderer
这个接口定义了任何希望成为
JTable
单元格渲染器的对象所需的方法。
-
Method Summary
Modifier and TypeMethodDescriptiongetTableCellRendererComponent
(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) 返回用于绘制单元格的组件。
-
Method Details
-
getTableCellRendererComponent
Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) 返回用于绘制单元格的组件。在绘制之前,此方法用于适当地配置渲染器。TableCellRenderer
还负责渲染表示表格当前拖放位置的单元格。如果此渲染器关心渲染拖放位置,则应直接查询表格,看看给定的行和列是否表示拖放位置:JTable.DropLocation dropLocation = table.getDropLocation(); if (dropLocation != null && !dropLocation.isInsertRow() && !dropLocation.isInsertColumn() && dropLocation.getRow() == row && dropLocation.getColumn() == column) { // 此单元格表示当前拖放位置 // 因此可以特殊渲染,也许使用不同的颜色 }
在打印操作期间,将使用
false
的isSelected
和hasFocus
值调用此方法,以防止选择和焦点出现在打印输出中。要根据表格是否正在打印来进行其他自定义,请检查从JComponent.isPaintingForPrint()
返回的值。- 参数:
-
table
- 请求渲染器绘制的JTable
;可以为null
-
value
- 要渲染的单元格的值。由具体的渲染器解释和绘制值。例如,如果value
是字符串 "true",它可以被渲染为字符串,也可以被渲染为已选中的复选框。null
是有效值 -
isSelected
- 如果要突出显示选择的单元格,则为true;否则为false -
hasFocus
- 如果为true,则适当地渲染单元格。例如,如果单元格可以编辑,则在单元格上放置特殊边框,如果单元格正在编辑,则使用指示编辑的颜色进行渲染 -
row
- 正在绘制的单元格的行索引。在绘制标题时,row
的值为 -1 -
column
- 正在绘制的单元格的列索引 - 返回:
- 用于绘制单元格的组件。
- 参见:
-