Rendering Labor Data

public static class Left extends LaborRenderer {
    protected void setValues(Object value) {

        Labor labor = (Labor) value;

        // some operations display no line number
        int lineNumber = labor.getLineNumber();
        if (lineNumber == 0) {
            lineNumberLabel.setText(null);
        } else {
            lineNumberLabel.setText(lineNumber + '.');
        }

        // check may be hidden, indented, or disabled 
        if (labor.hasSubOps()) {
            isPostedCheck.setVisible(false);
        } else {
            isPostedCheck.setSelected(labor.isPosted());
            isPostedCheck.setHorizontalTextPosition(
                    labor.isIndented() ? LEFT : RIGHT);
            isPostedCheck.setEnabled(labor.isEnabled());
            isPostedCheck.setVisible(true);
        }

        // some operations should be indented
        if (value instanceof LaborOp) {
            descLabel.setText(labor.getDesc());
        } else if (value instanceof LaborSubOp) {
            descLabel.setText("      " + labor.getDesc());
        } else {
            descLabel.setText("  " + labor.getDesc());
        }

        // more...

public static class Right extends LaborRenderer {
    protected void setValues(Object value) {

        Labor labor = (Labor) value;

        boolean noSubOps = !labor.hasSubOps();

        if (noSubOps) {
            estTimeLabel   .setText(labor.getEstTime());
            skillLevelLabel.setText(labor.getSkillLevel());
            yearsLabel     .setText(labor.getYears());
            facTimeLabel   .setText(labor.getFacTime());
            extPriceLabel  .setText(labor.getExtPrice());
        }

        estTimeLabel   .setVisible(noSubOps);
        skillLevelLabel.setVisible(noSubOps);
        yearsLabel     .setVisible(noSubOps);
        facTimeLabel   .setVisible(noSubOps);
        extPriceLabel  .setVisible(noSubOps);

        // more...
public abstract class LaborRenderer extends DataRenderer {
    public Component getListCellRendererComponent(JList...

        if (next instanceof LaborSubOp) {
            panel.setBorder(PartialBorder.NONE);
        } else {
            panel.setBorder(PartialBorder.BOTTOM_ONLY);
        }
        // more...