package com.compomics.util.gui.renderers;
import java.awt.Component;
import javax.swing.DefaultListCellRenderer;
import javax.swing.JLabel;
import javax.swing.JList;
/**
* ListCellRenderer with alignment functionality.
*
* @author Harald Barsnes
*/
public class AlignedListCellRenderer extends DefaultListCellRenderer {
/**
* One of the following constants defined in SwingConstants: LEFT, CENTER
* (the default for image-only labels), RIGHT, LEADING (the default for
* text-only labels) or TRAILING.
*/
private int align;
/**
* Creates a new AlignedListCellRenderer
*
* @param align SwingConstant: LEFT, CENTER, RIGHT, LEADING or TRAILING.
*/
public AlignedListCellRenderer(int align) {
this.align = align;
}
@Override
public Component getListCellRendererComponent(JList list, Object value, int index,
boolean isSelected, boolean cellHasFocus) {
JLabel lbl = (JLabel) super.getListCellRendererComponent(
list, value, index, isSelected, cellHasFocus);
// set the standard horizontal alignment
lbl.setHorizontalAlignment(align);
return lbl;
}
}