// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.tageditor.preset.ui; import java.awt.Color; import java.awt.Component; import java.awt.Font; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.table.TableCellRenderer; import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset; public class NameIconCellRenderer extends JLabel implements TableCellRenderer { public static final Color BG_COLOR_SELECTED = new Color(143, 170, 255); protected void init() { setOpaque(true); setFont(new Font("SansSerif", Font.PLAIN, 10)); } public NameIconCellRenderer() { init(); } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int rowIndex, int colIndex) { if (isSelected) { setBackground(BG_COLOR_SELECTED); } else { setBackground(Color.WHITE); } TaggingPreset provider = (TaggingPreset) value; if (provider != null) { setText(provider.getName()); setIcon(provider.getIcon()); } return this; } }