Hi, I have a JTable in which I use JList as row header. I also alternate colors of rows between gray and white. Now I need to color some of the rows of JList in red. What I have is vector of rows that need to be colored in red, in ListCellRenderer I loop thru this vector and compare each element to index value of the renderer, if there is a match I set background to red if not color other way. It seems to be working but in a strange way. If I have 6 rows and need to color rows 6,4 and 2 the will be only row 6 colored in red. If I make rows 4 and 2 to be colored in red only row 4 is in red. It seems renderer colors only last row to be colored. Don't know what to do. Any help is greatly appeciated.
** code below ** thanks, Alex class RowHeaderRenderer extends JLabel implements ListCellRenderer { RowHeaderRenderer(JTable table) { JTableHeader header = table.getTableHeader(); setOpaque(true); setBorder(UIManager.getBorder("TableHeader.cellBorder")); setHorizontalAlignment(SwingConstants.LEFT); setForeground(header.getForeground()); setFont(header.getFont()); } public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus){ setText((value == null) ? "" : value.toString()); for(int i = 0; i < unselectedRows.size(); i++){ if((String.valueOf(index)).equals(unselectedRows.elementAt(i))){ System.out.println("UNSELECT = " + unselectedRows.elementAt(i)); setBackground(new Color(255,51,51)); setForeground(white); } else{ if(index % 2 != 0){ setBackground(white); setForeground(Color.black); } else{ setBackground(gray); setForeground(Color.black); } } } /* if(index % 2 != 0) setBackground(white); else setBackground(gray); */ return this; } } _______________________________________________ Advanced-swing mailing list [EMAIL PROTECTED] http://eos.dk/mailman/listinfo/advanced-swing