可以用它的绘制器,用JLabel做为对象

解决方案 »

  1.   

    /*
     * Created on 2004-10-17
     */
    package com.yuch.ui;import java.awt.Color;
    import java.awt.Component;
    //import java.util.Iterator;
    //import java.util.List;import javax.swing.JComboBox;
    //import javax.swing.JTable;
    import javax.swing.JLabel;
    import javax.swing.BorderFactory;
    import javax.swing.ListCellRenderer;/**
     * @author yuch
     */
    public class DataRenderer extends JLabel implements ListCellRenderer {

    public DataRenderer() {
    // Iterator iter = values.iterator();
    // while( iter.hasNext() ) {
    // addItem( (String)iter.next() );
    // }
    }

    public Component getListCellRendererComponent( JList list,
    Object value,                            int index,
    boolean isSelected,
    boolean hasFocus) {
    if ( isSelected ) {
    setBorder( BorderFactory.createLineBorder(Color.red) );
    }
    else {
    setBorder( BorderFactory.createLineBorder(Color.DARK_GRAY) );
    }
    // if (isSelected) {
    //            setForeground( list.getSelectionForeground() );
    //            super.setBackground( list.getSelectionBackground() );
    //        } else {
    //            setForeground(list.getForeground());
    //            setBackground(list.getBackground());
    //        }        // Select the current value
    //        setSelectedItem( value );
    setText( value.toString() );

    return this;
    }
    }