为了账号安全,请及时绑定邮箱和手机立即绑定

当我使用鼠标单击并拖动 Jframe 时如何使 Jframe 移动

当我使用鼠标单击并拖动 Jframe 时如何使 Jframe 移动

慕无忌1623718 2023-06-28 15:21:59
我一直在尝试完成如何在使用鼠标拖动 jframe 时移动它。但我找不到解决办法。我尝试在 Jframe 上实现侦听器,但它没有按照我预期的方式工作。JFrame jframe = new JFrame();jframe.setSize(500,500);jframe.setLocation(400, 100);jframe.setVisible(true);jframe.addMouseListener(new MouseListener() {        @Override        public void mouseClicked(MouseEvent e) {        }        @Override        public void mousePressed(MouseEvent e) {        }        @Override        public void mouseReleased(MouseEvent e) {        }        @Override        public void mouseEntered(MouseEvent e) {        }        @Override        public void mouseExited(MouseEvent e) {        }   });
查看完整描述

1 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

您可以使用 MouseMotionListener。使用 mouseMoved 事件方法移动鼠标时获取鼠标的位置,并将其与拖动事件一起使用以相应地定位框架。:


jframe.addMouseMotionListener(new MouseMotionListener() {

@Override

public void mouseDragged(MouseEvent e) {

    xDrag = e.getX();

    yDrag = e.getY();


    JFrame sFrame = (JFrame) e.getSource();

    sFrame.setLocation(sFrame.getLocation().x+xDrag-xPress, 

    sFrame.getLocation().y+yDrag-yPress);

 }


 @Override

 public void mouseMoved(MouseEvent e) {

     xPress = e.getX();

     yPress = e.getY();

  }

});

在类中声明变量 xDrag、yDrag、xPress、yPress。我希望这有帮助。


查看完整回答
反对 回复 2023-06-28
  • 1 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信