rendered paste bodyimport javax.swing.*;import java.awt.*;/** * * @author bov */public class TestFrame { private JFrame frame; private JTextField field; /** Creates a new instance of TestFrame */ public TestFrame() { createWindow(); } private void createWindow() { frame = new JFrame("TEST"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(createPanel()); frame.pack(); frame.setVisible(true); } private JPanel createPanel() { JPanel p = new JPanel(); JList list = new JList(new String[]{"one", "two", "three"}); list.setCellRenderer(new CustomCellRender()); JScrollPane sp = new JScrollPane(list); p.add(list); return p; } public static void main(String[] args) { new TestFrame(); } private class CustomCellRender extends JCheckBox implements ListCellRenderer { public CustomCellRender() {} public Component getListCellRendererComponent( JList list, Object value, int index, boolean isSelected, boolean cellHasFocus ) { setText(value.toString()); if( isSelected ) { setBackground( Color.red ); setForeground( Color.white ); setSelected(true); } else { setBackground( Color.white ); setForeground( Color.black ); setSelected(false); } return this; } }}