/** * When the mouse button is pressed over a draggable piece, begins the dragging process. Only * one piece can be dragged at a time. * * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent) */ @Override public void mousePressed(MouseEvent e) { board.setSelectedSquare(board.yToRow(e.getY()), board.xToColumn(e.getX())); Piece chosenPiece = board.findPiece(e.getX(), e.getY()); if (chosenPiece == null) { return; } if (chosenPiece.isSelectable()) { board.setSelectedPiece(chosenPiece); } if (pieceBeingDragged != null) { return; // can only drag one piece at a time } if (!chosenPiece.draggable) { return; } pieceBeingDragged = chosenPiece; board = pieceBeingDragged.board; pieceBeingDragged.moving = true; board.moveToTop(pieceBeingDragged); }