/**
* 右边Table着色
*
* @author
*
*/
class RightTableCellRenerer extends DefaultTableCellRenderer {
private static final long serialVersionUID = 1L;
private boolean isWrite = false;
@Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
Component comp = super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
setHorizontalAlignment(JLabel.CENTER);
// 着色会不能显示选中状态
isWrite = (row <= column);
return comp;
}
@Override
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
if (isWrite) {
// 画线
g2d.setPaint(Color.black);
g2d.setStroke(new BasicStroke(.33f));
g2d.drawLine(0, 0, (int) getSize().getWidth(), (int) getSize()
.getHeight() - 1);
// 着色
g2d.setPaint(Color.gray);
g2d.fillRect(0, 0, (int) getSize().getWidth(), (int) getSize()
.getHeight());
}
}
}