/* MP5ExecutorListCellRenderer.java created 2008-02-08 * */ package org.signalml.app.method.mp5; import static org.signalml.app.util.i18n.SvarogI18n._; import java.awt.Component; import java.awt.Font; import javax.swing.DefaultListCellRenderer; import javax.swing.JLabel; import javax.swing.JList; import org.signalml.method.mp5.MP5Executor; /** MP5ExecutorListCellRenderer * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public class MP5ExecutorListCellRenderer extends DefaultListCellRenderer { private static final long serialVersionUID = 1L; private MP5Executor defaultExecutor; private Font normalFont; private Font boldFont; private String defaultString; public MP5ExecutorListCellRenderer() { super(); normalFont = getFont().deriveFont(Font.PLAIN); boldFont = normalFont.deriveFont(Font.BOLD); defaultString = " " + _("(default)"); } public MP5Executor getDefaultExecutor() { return defaultExecutor; } public void setDefaultExecutor(MP5Executor defaultExecutor) { this.defaultExecutor = defaultExecutor; } @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { JLabel label = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); if (value instanceof MP5Executor) { if (defaultExecutor != null && value == defaultExecutor) { label.setText(((MP5Executor) value).getDefaultMessage() + defaultString); label.setFont(boldFont); } else { label.setText(((MP5Executor) value).getDefaultMessage()); label.setFont(normalFont); } } return label; } }