/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package feuille.drawing.renderer; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.SystemColor; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.border.LineBorder; import feuille.drawing.lib.Layer; /** * * @author The Wingate 2940 */ public class LayerRenderer extends javax.swing.JPanel implements javax.swing.ListCellRenderer { JLabel lblText = new JLabel(); JLabel lblColor = new JLabel(); public LayerRenderer(){ setOpaque(true); setLayout(null); setPreferredSize(new Dimension(getWidth(), 28)); this.add(lblText); lblText.setLocation(0, 0); lblText.setSize(77, 28); lblText.setOpaque(true); this.add(lblColor); lblColor.setLocation(77, 0); lblColor.setSize(60, 28); lblColor.setOpaque(true); lblColor.setBorder(new LineBorder(Color.black, 2)); } @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { if(value instanceof Layer){ Layer layer = (Layer)value; if(layer.getName().isEmpty()){ lblText.setText(" ID "+index); }else{ lblText.setText(" "+layer.getName()); } if(isSelected==true){ lblText.setBackground(SystemColor.controlHighlight); }else{ lblText.setBackground(Color.white); } lblColor.setBackground(layer.getColor()); } return this; } }