/* TagStyleTableCellRenderer.java created 2007-12-04 * */ package org.signalml.app.view.tag.comparison; import static org.signalml.app.util.i18n.SvarogI18n._; import java.awt.Color; import java.awt.Component; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import org.signalml.app.view.tag.TagIconProducer; import org.signalml.plugin.export.signal.TagStyle; /** TagStyleTableCellRenderer * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public class TagStyleTableCellRenderer extends DefaultTableCellRenderer { private static final long serialVersionUID = 1L; private String noneString; public static final Color DISABLED_COLOR = new Color(220,220,220); private TagIconProducer tagIconProducer; public TagStyleTableCellRenderer() { super(); setHorizontalAlignment(CENTER); setVerticalAlignment(CENTER); setHorizontalTextPosition(CENTER); setVerticalTextPosition(BOTTOM); noneString = _("(none)"); } public TagIconProducer getTagIconProducer() { return tagIconProducer; } public void setTagIconProducer(TagIconProducer tagIconProducer) { this.tagIconProducer = tagIconProducer; } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { JLabel label = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); TagStyle style = (TagStyle) value; if (!isSelected) { label.setBackground(DISABLED_COLOR); } if (style == null) { label.setText(noneString); label.setIcon(null); } else { label.setText(style.getDescriptionOrName()); label.setIcon(tagIconProducer.getIcon(style)); } return label; } }