Mega Code Archive

 
Categories / Java by API / Javax Swing
 

JList getSelectionBackground()

// import java.awt.Component; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JScrollPane; import javax.swing.ListCellRenderer; import javax.swing.ListModel; import javax.swing.event.ListDataListener; public class MainClass extends JFrame {   MainClass(String s) {     super(s);     ListModel lm = new StaticListModel();     JList list = new JList();     list.setModel(lm);     list.setCellRenderer(new MyCellRenderer());     getContentPane().add(new JScrollPane(list));     setDefaultCloseOperation(EXIT_ON_CLOSE);   }   public static void main(String[] s) {     MainClass l = new MainClass("ListModel");     l.pack();     l.setVisible(true);   }   class MyCellRenderer extends JLabel implements ListCellRenderer {     public Component getListCellRendererComponent(JList list, Object value, int index,         boolean isSelected, boolean cellHasFocus) {       Component c = null;       if (value == null) {         c = new JLabel("(null)");       } else if (value instanceof Component) {         c = (Component) value;       } else {         c = new JLabel(value.toString());       }       if (isSelected) {         c.setBackground(list.getSelectionBackground());         c.setForeground(list.getSelectionForeground());       } else {         c.setBackground(list.getBackground());         c.setForeground(list.getForeground());       }       if (c instanceof JComponent) {         ((JComponent) c).setOpaque(true);       }       return c;     }   }   class StaticListModel implements ListModel {     private final Object[] data = { "Hello", new Object(), new java.util.Date(),         new JLabel("Hello world!"), this, };     public Object getElementAt(int index) {       return data[index];     }     public int getSize() {       return data.length;     }     public void addListDataListener(ListDataListener ldl) {     }     public void removeListDataListener(ListDataListener ldl) {     }   } }