1 32 33 package it.businesslogic.ireport.gui.fonts; 34 35 import java.awt.Color ; 36 import java.awt.Component ; 37 import javax.swing.DefaultListCellRenderer ; 38 import javax.swing.JCheckBox ; 39 import javax.swing.JList ; 40 import javax.swing.UIManager ; 41 import javax.swing.border.*; 42 43 47 public class CheckboxCellRenderer extends DefaultListCellRenderer  48 { 49 protected static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1); 50 51 public Component getListCellRendererComponent( 52 JList list, Object value, int index, 53 boolean isSelected, boolean cellHasFocus) 54 { 55 if (value instanceof CheckBoxListEntry) 56 { 57 CheckBoxListEntry checkbox = (CheckBoxListEntry) value; 58 checkbox.setBackground(isSelected ? 59 list.getSelectionBackground() : list.getBackground()); 60 if (checkbox.isRed()) 61 { 62 checkbox.setForeground( Color.red ); 63 } 64 else 65 { 66 checkbox.setForeground(isSelected ? 67 list.getSelectionForeground() : list.getForeground()); 68 } 69 checkbox.setEnabled(isEnabled()); 70 checkbox.setFont(getFont()); 71 checkbox.setFocusPainted(false); 72 checkbox.setBorderPainted(true); 73 checkbox.setBorder(isSelected ? 74 UIManager.getBorder( 75 "List.focusCellHighlightBorder") : noFocusBorder); 76 77 return checkbox; 78 } 79 else 80 { 81 return super.getListCellRendererComponent(list, value.getClass().getName(), index, isSelected, cellHasFocus); 82 } 83 } 84 } 85 | Popular Tags |