Re: Different colors for Row in a JTable
Author: paullarkin
In Reply To: Different colors for Row in a JTable
Feb 27, 2002 2:28 AM ?
Reply 2 of 13Bit messy but you get the idea...JTable table = new JTable(5,5); //example table TableCellRenderer greyWhiteRenderer = new TableCellRenderer()
{
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int col)
{
JLabel label = new JLabel(); //for the normal behaviour
label.setOpaque(true);
if(row %2 != 0) //if it's odd
label.setBackground(Color.lightGray);
else
label.setBackground(Color.white);
//normal stuff
String text = (value == null) ? "" : value.toString();
label.setText(text);
if(isSelected)
label.setBackground(Color.cyan); return label;
}
}; Enumeration columns = table.getColumnModel().getColumns(); while(columns.hasMoreElements()) //set the renderer for each column
((TableColumn)columns.nextElement()).setCellRenderer(greyWhiteRenderer);
Author: paullarkin
In Reply To: Different colors for Row in a JTable
Feb 27, 2002 2:28 AM ?
Reply 2 of 13Bit messy but you get the idea...JTable table = new JTable(5,5); //example table TableCellRenderer greyWhiteRenderer = new TableCellRenderer()
{
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int col)
{
JLabel label = new JLabel(); //for the normal behaviour
label.setOpaque(true);
if(row %2 != 0) //if it's odd
label.setBackground(Color.lightGray);
else
label.setBackground(Color.white);
//normal stuff
String text = (value == null) ? "" : value.toString();
label.setText(text);
if(isSelected)
label.setBackground(Color.cyan); return label;
}
}; Enumeration columns = table.getColumnModel().getColumns(); while(columns.hasMoreElements()) //set the renderer for each column
((TableColumn)columns.nextElement()).setCellRenderer(greyWhiteRenderer);
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货