public MatrixTree(TreeModel model) { super(model);  selTool = new SelectionTool(this);  menuHandler = getMenuHandler(); dragHandler = getDragHandler(); dropHandler = getDropHandler(); dcHandler   = getDoubleClickHandler();
public MatrixTree() { super();
	public MatrixTree(TreeModel model) {		super(model);		selTool = new SelectionTool(this);		menuHandler = getMenuHandler();		dragHandler = getDragHandler();		dropHandler = getDropHandler();		dcHandler   = getDoubleClickHandler();		addCueGestureListener(this);		addTreeWillExpandListener(this);		addMouseListener(selTool);		addMouseListener(menuHandler);		addMouseListener(dcHandler);		addMouseMotionListener(selTool);		setUI(new MatrixTreeUI());		dragSource = DragSource.getDefaultDragSource();		DragGestureRecognizer dgr =			dragSource.createDefaultDragGestureRecognizer(			this, // DragSource			DnDConstants.ACTION_COPY_OR_MOVE, // specifies valid actions			dragHandler // DragGestureListener		);		dgr.setSourceActions(dgr.getSourceActions() & ~InputEvent.BUTTON3_MASK);		DropTarget dropTarget = new DropTarget(this, dropHandler);		// create a mouse motion listener to update the ViewPort when we		// do a drag operation where the drag extends greater than the tree size		MouseMotionListener mmListener = new MouseMotionAdapter() {			public void mouseDragged(MouseEvent evt) {				Rectangle r = new Rectangle(evt.getX(), evt.getY(), 6, 6);				scrollRectToVisible(r);			}		};		setAutoscrolls(true);		addMouseMotionListener(mmListener);		ToolTipManager.sharedInstance().registerComponent(this);		setKeyboardActions();	}