模块 java.desktop

接口 TableCellRenderer

所有已知的实现类:
DefaultTableCellRenderer , DefaultTableCellRenderer.UIResource

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
         }
       

      在打印操作期间,将使用 falseisSelectedhasFocus 值调用此方法,以防止选择和焦点出现在打印输出中。要根据是否正在打印表进行其他自定义,请检查 JComponent.isPaintingForPrint() 的返回值。

      参数:
      table - 要求渲染器绘制的 JTable;可以是null
      value - 要呈现的单元格的值。由特定的渲染器来解释和绘制值。例如,如果 value 是字符串“true”,它可以呈现为字符串,也可以呈现为已选中的复选框。 null 是一个有效值
      isSelected - 如果要在突出显示选择的情况下呈现单元格,则为真;否则为假
      hasFocus - 如果为真,则适当地渲染单元格。比如在单元格上加一个特殊的边框,如果单元格可以编辑,就渲染成用来表示编辑的颜色
      row - 正在绘制的单元格的行索引。绘制表头时row的值为-1
      column - 正在绘制的单元格的列索引
      返回:
      用于绘制单元格的组件。
      参见: