class myLable extends JLabel implements ListCellRenderer
{
myLable()
{
setOpaque(true);
}
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
setText(value.toString());
Color background;
Color foreground;
// check if this cell represents the current DnD drop location
JList.DropLocation dropLocation = list.getDropLocation();
if (dropLocation != null
&& !dropLocation.isInsert()
&& dropLocation.getIndex() == index) {
background = Color.BLUE;
foreground = Color.WHITE;
// check if this cell is selected
} else if (isSelected) {
background = Color.RED;
foreground = Color.WHITE;
// unselected, and not the DnD drop location
} else {
if(index %2 ==0)
{
background = Color.WHITE;
foreground = Color.BLACK;
}else{
background = Color.GRAY;
foreground = Color.BLACK;
}
};
setBackground(background);
setForeground(foreground);
return this;
}
}
使用:jList2.setCellRenderer(new myLable());