package org.isatools.isacreator.common;
import javax.swing.*;
import java.awt.*;
/**
* Created by the ISA team
*
* @author Eamonn Maguire (eamonnmag@gmail.com)
* <p/>
* Date: 23/06/2011
* Time: 18:34
*/
public class ReOrderableListCellRenderer extends JLabel implements ListCellRenderer {
boolean isTargetCell;
boolean isLastItem;
private ReOrderableJList list;
public ReOrderableListCellRenderer(ReOrderableJList list) {
this.list = list;
setFont(UIHelper.VER_11_BOLD);
setOpaque(true);
}
public Component getListCellRendererComponent(JList list,
Object value,
int index,
boolean isSelected,
boolean hasFocus) {
isTargetCell = (value == this.list.dropTargetCell);
isLastItem = (index == list.getModel().getSize() - 1);
setBackground(isSelected ? UIHelper.TRANSPARENT_LIGHT_GREEN_COLOR : UIHelper.BG_COLOR);
setForeground(UIHelper.DARK_GREEN_COLOR);
setText(value.toString());
return this;
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (isTargetCell) {
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(UIHelper.LIGHT_GREEN_COLOR);
g2d.setStroke(new BasicStroke(3, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
g2d.drawLine(0, 0, getSize().width, 0);
}
}
}