模块  java.desktop
软件包  javax.swing.table

Interface TableCellRenderer

    • 方法详细信息

      • 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
             } 

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

        参数
        table - 要求渲染器绘制的JTable ; 可以是null
        value - 要呈现的单元格的值。 由特定渲染器来解释和绘制值。 例如,如果value是字符串“true”,则可以将其呈现为字符串,也可以将其呈现为已选中的复选框。 null是有效值
        isSelected - 如果要在突出显示选区的情况下渲染单元格,则为true;否则为false。 否则是假的
        hasFocus - 如果为true,则适当地渲染单元格。 例如,在单元格上放置一个特殊边框,如果可以编辑单元格,则使用用于指示编辑的颜色进行渲染
        row - 正在绘制的单元格的行索引。 绘制标题时, row值为-1
        column - 正在绘制的单元格的列索引
        结果
        用于绘制单元格的组件。
        另请参见:
        JComponent.isPaintingForPrint()