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- 正在绘制的单元格的列索引 - 返回:
- 用于绘制单元格的组件。
- 参见:
-