package eu.doppel_helix.netbeans.mantisintegration.swing; import biz.futureware.mantisconnect.ObjectRef; import java.awt.Component; import java.awt.Font; import java.math.BigInteger; import javax.swing.DefaultListCellRenderer; import javax.swing.JList; import javax.swing.JSeparator; public class ObjectRefListCellRenderer extends DefaultListCellRenderer { private final JSeparator seperator = new JSeparator(JSeparator.HORIZONTAL); @Override public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) { boolean negativeValue = false; if(value instanceof ObjectRef) { ObjectRef or = (ObjectRef) value; if(or.getId().equals(BigInteger.ZERO)) { return seperator; } else if(or.getId().compareTo(BigInteger.ZERO) < 0) { negativeValue = true; } value = or.getName(); } else if (value == null) { value = " "; } Component c = super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); if(negativeValue) { c.setFont(c.getFont().deriveFont(Font.ITALIC)); } else { c.setFont(c.getFont().deriveFont(Font.PLAIN)); } return c; } }