JPanel () { JPanel panel = ToolbarDecorator .createDecorator(myList) .disableUpDownActions() .setAddAction(new AnActionButtonRunnable() { @Override public void run(AnActionButton button) { final String result = Messages.showInputDialog(CommonDataKeys.PROJECT.getData(button.getDataContext()), ResourceBundleEditorBundle.message("incomplete.property.add.ignored.suffixes.dialog.message"), ResourceBundleEditorBundle.message("incomplete.property.add.ignored.suffixes.dialog.title"), null); if (result != null) { mySuffixes.addAll(StringUtil.split(result, ",")); changed(); } } }).setRemoveAction(new AnActionButtonRunnable() { @Override public void run(AnActionButton button) { for (String s : myList.getSelectedValuesList()) { mySuffixes.remove(s); } changed(); } }) .setToolbarPosition(ActionToolbarPosition.RIGHT) .createPanel(); myList.setCellRenderer(new ColoredListCellRenderer<>() { @Override protected void customizeCellRenderer(@NotNull JList list, @NlsSafe String suffix, int index, boolean selected, boolean hasFocus) { append(suffix); final Locale locale = PropertiesUtil.getLocale("_" + suffix + ".properties"); if (locale != PropertiesUtil.DEFAULT_LOCALE) { if (PropertiesUtil.hasDefaultLanguage(locale)) { append(" "); append(PropertiesUtil.getPresentableLocale(locale), SimpleTextAttributes.GRAY_ATTRIBUTES); } } else { append(ResourceBundleEditorBundle.message("incomplete.property.inspection.default.locale.presentation")); } } }); return UI.PanelFactory .panel(panel) .withLabel(ResourceBundleEditorBundle.message("incomplete.property.inspection.ignored.suffixes.label")) .moveLabelOnTop() .resizeY(true) .createPanel(); }