设置拖动JLabel的限制

时间:2018-03-22 15:24:00

标签: java swing drag-and-drop jlabel jlayeredpane

我有一个国际象棋棋盘(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);
            }

但它都没有工作。

0 个答案:

没有答案