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

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

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