Tree () { final Runnable cancelCallback = () -> { if (myInitDone) { close(CANCEL_EXIT_CODE); } else { throw new ProcessCanceledException(); } }; final CheckedTreeNode root = createTreeNodeFor(null, new HashSet<>(), cancelCallback); myRoot = createTreeNodeFor(myMethod, new HashSet<>(), cancelCallback); root.add(myRoot); final CheckboxTree.CheckboxTreeCellRenderer cellRenderer = new CheckboxTree.CheckboxTreeCellRenderer(true, false) { @Override public void customizeRenderer(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { if (value instanceof MemberNodeBase) { ((MemberNodeBase<?>)value).customizeRenderer(getTextRenderer()); } } }; Tree tree = new CheckboxTree(cellRenderer, root, new CheckboxTreeBase.CheckPolicy(false, true, true, false)); tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); tree.getSelectionModel().setSelectionPath(new TreePath(myRoot.getPath())); return tree; }