Component (final JTable table, final Object value, final boolean isSelected, final boolean hasFocus, final int row, final int column) { myLabel.clear(); myLabel.append((String)value, SimpleTextAttributes.REGULAR_ATTRIBUTES); String type; if (defaultDictionaries.contains(value)) { type = SpellCheckerBundle.message("built.in.dictionary"); } else { CustomDictionaryProvider provider = null; for (CustomDictionaryProvider dictionaryProvider : CustomDictionaryProvider.EP_NAME.getExtensionList()) { if (dictionaryProvider.isApplicable((String)value)) { provider = dictionaryProvider; break; } } type = provider == null ? SpellCheckerBundle.message("words.list.dictionary") : provider.getDictionaryType(); } myLabel.append(" [" + type + "]", GRAY_ATTRIBUTES); myLabel.setForeground(isSelected ? table.getSelectionForeground() : table.getForeground()); myLabel.setBackground(isSelected ? table.getSelectionBackground() : table.getBackground()); return myLabel; }