public interface TableCellRenderer
该接口定义了任何想要成为
JTable
中单元格渲染器的对象所需的方法。
-
方法总结
修饰符和类型方法描述getTableCellRendererComponent
(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) 返回用于绘制单元格的组件。
-
方法详情
-
getTableCellRendererComponent
Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) 返回用于绘制单元格的组件。此方法用于在绘制之前适当地配置渲染器。TableCellRenderer
还负责呈现代表表格当前 DnD 放置位置的单元格(如果有的话)。如果此渲染器关心渲染 DnD 放置位置,它应该直接查询表以查看给定的行和列是否表示放置位置:JTable.DropLocation dropLocation = table.getDropLocation(); if (dropLocation != null && !dropLocation.isInsertRow() && !dropLocation.isInsertColumn() && dropLocation.getRow() == row && dropLocation.getColumn() == column) { // this cell represents the current drop location // so render it specially, perhaps with a different color }
在打印操作期间,将使用
false
的isSelected
和hasFocus
值调用此方法,以防止选择和焦点出现在打印输出中。要根据是否正在打印表进行其他自定义,请检查JComponent.isPaintingForPrint()
的返回值。- 参数:
table
- 要求渲染器绘制的JTable
;可以是null
value
- 要呈现的单元格的值。由特定的渲染器来解释和绘制值。例如,如果value
是字符串“true”,它可以呈现为字符串,也可以呈现为已选中的复选框。null
是一个有效值isSelected
- 如果要在突出显示选择的情况下呈现单元格,则为真;否则为假hasFocus
- 如果为真,则适当地渲染单元格。比如在单元格上加一个特殊的边框,如果单元格可以编辑,就渲染成用来表示编辑的颜色row
- 正在绘制的单元格的行索引。绘制表头时row
的值为-1column
- 正在绘制的单元格的列索引- 返回:
- 用于绘制单元格的组件。
- 参见:
-