亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當我使用鼠標單擊并拖動 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 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號