public TreePanel(TreeRoot root) {
		mRoot = root;
		mRoot.getNotifier().add(this, TreeNotificationKeys.ROW_REMOVED);
		setUnitIncrement(mRowHeight + getRowDividerHeight());
		setFocusable(true);
		addFocusListener(this);
		addMouseListener(this);
		addMouseMotionListener(this);
		addKeyListener(this);
		if (!GraphicsUtilities.inHeadlessPrintMode()) {
			DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY_OR_MOVE, this);
			setDropTarget(new DropTarget(this, this));
		}
	}