1 22 23 package salsa.font; 24 25 import java.awt.*; 26 import javax.swing.*; 27 import javax.swing.border.*; 28 29 public class ColorListCellRenderer extends JPanel implements ListCellRenderer 30 { 31 Color _color = Color.BLACK; 32 33 Border _focusBorder; 34 Color _focusColor = ( Color ) UIManager.get( "List.selectionBackground" ); 35 Border _nonFocusBorder; 36 Color _nonFocusColor = Color.WHITE; 37 38 public ColorListCellRenderer() 39 { 40 _focusBorder = new CompoundBorder( 41 new MatteBorder( 2, 10, 2, 10, _focusColor ), 42 new LineBorder( Color.BLACK ) ); 43 44 _nonFocusBorder = new CompoundBorder( 45 new MatteBorder( 2, 10, 2, 10, _nonFocusColor ), 46 new LineBorder( Color.BLACK ) ); 47 } 48 49 public Component getListCellRendererComponent( JList list, 50 Object obj, int row, boolean isSelected, boolean hasFocus ) 51 { 52 if( hasFocus || isSelected ) 53 setBorder( _focusBorder ); 54 else 55 setBorder( _nonFocusBorder ); 56 57 if( obj instanceof Color ) 58 _color = ( Color ) obj; 59 60 return this; 61 } 62 63 public void paintComponent( Graphics g ) 64 { 65 setBackground( _color ); 66 super.paintComponent( g ); 67 } 68 } 69 | Popular Tags |