Component (JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { final SimpleColoredComponent component = new SimpleColoredComponent(); if (!(value instanceof InspectionConfigTreeNode node)) return component; boolean reallyHasFocus = ((TreeTableTree)tree).getTreeTable().hasFocus(); Color background = UIUtil.getTreeBackground(selected, reallyHasFocus); UIUtil.changeBackGround(component, background); Color foreground = selected ? UIUtil.getTreeSelectionForeground(reallyHasFocus) : node.isProperSetting() ? PlatformColors.BLUE : UIUtil.getTreeForeground(); int style = SimpleTextAttributes.STYLE_PLAIN; String hint = null; if (node instanceof InspectionConfigTreeNode.Group) { style = SimpleTextAttributes.STYLE_BOLD; } else { InspectionConfigTreeNode.Tool toolNode = (InspectionConfigTreeNode.Tool)node; hint = getHint(toolNode.getDefaultDescriptor()); } SearchUtil.appendFragments(getFilter(), node.getText(), style, foreground, background, component); if (hint != null) { component.append(" " + hint, selected ? new SimpleTextAttributes(SimpleTextAttributes.STYLE_PLAIN, foreground) : SimpleTextAttributes.GRAYED_ATTRIBUTES); } component.setForeground(foreground); return component; }