void () { myTree = new CheckboxTree(new IntentionsTreeCellRenderer(), new CheckedTreeNode(null)); myTree.getSelectionModel().addTreeSelectionListener(new TreeSelectionListener() { @Override public void valueChanged(TreeSelectionEvent e) { TreePath path = e.getPath(); Object userObject = ((DefaultMutableTreeNode)path.getLastPathComponent()).getUserObject(); selectionChanged(userObject); } }); myFilter = new MyFilterComponent(); myComponent = new JPanel(new BorderLayout()); JScrollPane scrollPane = ScrollPaneFactory.createScrollPane(myTree); myNorthPanel = new JPanel(new BorderLayout()); myNorthPanel.add(myFilter, BorderLayout.CENTER); myNorthPanel.setBorder(JBUI.Borders.emptyBottom(2)); DefaultActionGroup group = new DefaultActionGroup(); CommonActionsManager actionManager = CommonActionsManager.getInstance(); TreeExpander treeExpander = new DefaultTreeExpander(myTree); group.add(actionManager.createExpandAllAction(treeExpander, myTree)); group.add(actionManager.createCollapseAllAction(treeExpander, myTree)); ActionToolbar treeToolbar = ActionManager.getInstance().createActionToolbar("IntentionSettingsTree", group, true); treeToolbar.setTargetComponent(myTree); myNorthPanel.add(treeToolbar.getComponent(), BorderLayout.WEST); myComponent.add(myNorthPanel, BorderLayout.NORTH); myComponent.add(scrollPane, BorderLayout.CENTER); myFilter.reset(); }