我有一个国际象棋棋盘(JPanel)上有棋子(JLabel),由于JLayeredPane而被拖走。问题是我可以将棋子拖到棋盘外面,我想避免这样做。
这是我的mouseDragged(MouseEvent me)方法:
board_mml = new MouseMotionListener() {
@Override
public void mouseDragged(MouseEvent me) {
if (pieceMoving == null) {
return ;
}
pieceMoving.setLocation(me.getX() + offsetX, me.getY() + offsetY);
}
我试图像这样添加控件:
if (pieceMoving.getParent().contains(me.getPoint())) {
pieceMoving.setLocation(me.getX() + offsetX, me.getY() + offsetY);
}
并且像这样:
if (pieceMoving.getParent().contains(pieceMoving.getLocation())) {
pieceMoving.setLocation(me.getX() + offsetX, me.getY() + offsetY);
}
但它都没有工作。