void (boolean updateText) { List<String> filters = new ArrayList<>(); for (ClassFilter classFilter : myClassFilters) { if (classFilter.isEnabled()) { filters.add(classFilter.getPattern()); } } List<String> excludeFilters = new ArrayList<>(); for (ClassFilter classFilter : myClassExclusionFilters) { if (classFilter.isEnabled()) { excludeFilters.add("-" + classFilter.getPattern()); } } if (updateText) { String editorText = StringUtil.join(filters, " "); if (!filters.isEmpty()) { editorText += " "; } editorText += StringUtil.join(excludeFilters, " "); myClassFiltersField.setText(editorText); } int width = (int) Math.sqrt(myClassExclusionFilters.length + myClassFilters.length) + 1; StringBuilder tipTextBuilder = new StringBuilder(); concatWithEx(tipTextBuilder, filters, " ", width, "\n"); if (!filters.isEmpty()) { tipTextBuilder.append("\n"); } String tipText = concatWithEx(tipTextBuilder, excludeFilters, " ", width, "\n").toString(); myClassFiltersField.getTextField().setToolTipText(tipText); }