import java.awt.Component;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JFrame;
import javax.swing.JList;
public class ListRendererDemo extends JFrame {
public ListRendererDemo() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBounds(0, 0, 200, 300);
this.setLocationRelativeTo(null);
JList list = new JList(new Object[] { " first", " second", " third", " fourth", " -- no selection and focus --" });
list.setCellRenderer(new MyListRenderer());
this.getContentPane().add(list);
}
public static void main(String[] args) {
new ListRendererDemo().setVisible(true);
}
}
class MyListRenderer extends DefaultListCellRenderer {
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
if (index < list.getModel().getSize() - 1)
return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
return super.getListCellRendererComponent(list, value, index, false, false);
}
}