void (MouseEvent e) { int row = tree.getRowForLocation(e.getX(), e.getY()); if (row >= 0) { Rectangle rowBounds = tree.getRowBounds(row); cellRenderer.setBounds(rowBounds); Rectangle checkBounds = cellRenderer.myCheckbox.getBounds(); checkBounds.setLocation(rowBounds.getLocation()); if (checkBounds.contains(e.getPoint())) { toggleNode(tree, (DefaultMutableTreeNode)tree.getPathForRow(row).getLastPathComponent()); e.consume(); tree.setSelectionRow(row); } } }