package com.vci.client.ui.table; import java.awt.Color; import java.awt.Component; import java.awt.Font; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.UIManager; import javax.swing.table.JTableHeader; import javax.swing.table.TableCellRenderer; /** *

Title:

*

Description:

*

Copyright: Copyright (c) 2009

*

Company: VCI

* @author eddie * @time 2009-4-21 * @version 1.0 */ public class TableRowHeaderRenderer extends JLabel implements TableCellRenderer{ /** * */ private static final long serialVersionUID = 5009303816873848233L; JTable table = null; public TableRowHeaderRenderer(JTable table) { this.table = table; } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { // ((DefaultTableModel)table.getModel()).setRowCount(table.getRowCount()); JTableHeader header = table.getTableHeader(); this.setOpaque(true); /*设为TableHeader的边框类型*/ setBorder(UIManager.getBorder("TableHeader.cellBorder")); setHorizontalAlignment(CENTER); /*设置背景色为TableHeader的背景色*/ setBackground(header.getBackground()); Font font = header.getFont(); if ( isSelect(row) ) /* 当选取单元格时,在row header上设置成选取颜色 */ { setForeground(Color.white); setBackground(Color.lightGray); setFont(font); setText(String.valueOf(row+1)); } else { setForeground(header.getForeground()); setFont(font); setText(String.valueOf(row+1)); } return this; } private boolean isSelect(int row) { int[] sel = table.getSelectedRows(); for ( int i=0; i