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;
|
|
/**
|
* <p>Title: </p>
|
* <p>Description: </p>
|
* <p>Copyright: Copyright (c) 2009</p>
|
* <p>Company: VCI</p>
|
* @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<sel.length; i++ )
|
{
|
if (sel[i] == row ) return true;
|
}
|
return false;
|
}
|
}
|