我一直在尝试完成如何使用鼠标拖动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) {
}
});
您可以使用MouseMotionListener。使用mouseMoved事件方法移动鼠标并将其与drag事件一起使用时,获取鼠标的位置以相应地定位框架。:
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。我希望这有帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句