java 拖动窗口位置_拖动窗口并移动窗口位置

ef498234d07e32fee6d65b6d28791fb7.png

该功能常见于滑动验证码

5eb8a4155f5c84806edd60ea587c55e7.png

HTML部分

按住拖动

css部分

* {

padding: 0;

margin: 0;

}

#box {

width: 400px;

height: 300px;

background-color: orange;

position: absolute;

text-align: center;

color: #ffffff;

}

#title {

width: 100%;

height: 2em;

line-height: 2em;

background-color: #999999;

cursor: move;

}

JS部分

var box = document.getElementsByClassName('box')[0];

var title = document.getElementsByClassName('title')[0];

//0.声明一个开关变量

var off = 0;

//0.1声明一个变量一保存鼠标与盒子之间的距离

var cur = {};

//1.给标题添加鼠标按下事件

title.onmousedown = function(e){

off = 1;

//1.1 计算鼠标位置-盒子到页面的位置,得到一个差,永远不变

cur.x = e.clientX-box.offsetLeft;

cur.y = e.clientY-box.offsetTop;

}

//2.添加鼠标移动事件

document.onmousemove = function(e){

//2.1判断按下的开关状态 如果是真再运行

if(!off) return;

var left = e.clientX - cur.x;

var tops = e.clientY - cur.y;

//限制box不超出浏览器

left = left<0?0:left;

tops = tops<0?0:tops;

left = left >= window.innerWidth-400 ? window.innerWidth-400 : left;

tops = tops >= window.innerHeight-300 ? window.innerHeight-300 : tops;

box.style.left = left+'px';

box.style.top = tops+'px';

}

//3.添加鼠标抬起事件

title.onmouseup = title.οnmοuseοut= function(){

console.log('鼠标抬起');

off = 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javascrtpt 实现窗口拖拽、移动功能、显示坐标代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html <head runat="server"> <title></title> [removed] var mouseX, mouseY; var objX, objY; var isDowm = false; //是否按下鼠标 function mouseDown(obj, e) { obj.style.cursor = "move"; objX = div1.style.left; objY = div1.style.top; mouseX = e.clientX; mouseY = e.clientY; isDowm = true; } function mouseMove(e) { var div = document.getElementById("div1"); var x = e.clientX; var y = e.clientY; if (isDowm) { div.style.left = parseInt(objX) + parseInt(x) - parseInt(mouseX) + "px"; div.style.top = parseInt(objY) + parseInt(y) - parseInt(mouseY) + "px"; document.getElementById("span1")[removed] = "x:" + div.style.top + " " + "y:" + div.style.left; } } function mouseUp(e) { if (isDowm) { var x = e.clientX; var y = e.clientY; var div = document.getElementById("div1"); div.style.left = (parseInt(x) - parseInt(mouseX) + parseInt(objX)) + "px"; div.style.top = (parseInt(y) - parseInt(mouseY) + parseInt(objY)) + "px"; document.getElementById("span2")[removed] = "x:" + div.style.top + " " + "y:" + div.style.left; mouseX = x; rewmouseY = y; div1.style.cursor = "default"; isDowm = false; } } [removed] </head> <body> <span id="span1"></span></br><span id="span2"></span></br> <div id="div1" Green; border: 1px solid red; height: 300px; top: 100px; left: 100px; width: 300px; position: absolute;" </div> </body> </html>
要在Java窗口中实现标签移动,你可以使用Java Swing库中的JTabbedPane组件。该组件提供了选项卡式的界面,允许用户在多个选项卡之间切换,并且可以通过拖动选项卡来改变它们的顺序。 要移动选项卡,你可以使用以下步骤: 1. 获取当前选项卡的索引,可以使用JTabbedPane的getSelectedIndex()方法。 2. 获取移动的选项卡的索引。 3. 将要移动的选项卡从JTabbedPane中移除,可以使用JTabbedPane的removeTabAt()方法。 4. 将要移动的选项卡插入到新的位置,可以使用JTabbedPane的insertTab()方法。 5. 设置新的选项卡为当前选中的选项卡,可以使用JTabbedPane的setSelectedIndex()方法。 下面是一个简单的示例代码: ``` import javax.swing.*; public class TabbedPaneExample extends JFrame { private JTabbedPane tabbedPane; public TabbedPaneExample() { super("Tabbed Pane Example"); tabbedPane = new JTabbedPane(); tabbedPane.addTab("Tab 1", new JLabel("Content for Tab 1")); tabbedPane.addTab("Tab 2", new JLabel("Content for Tab 2")); tabbedPane.addTab("Tab 3", new JLabel("Content for Tab 3")); add(tabbedPane); setSize(400, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public void moveTab(int fromIndex, int toIndex) { Component tab = tabbedPane.getComponentAt(fromIndex); String title = tabbedPane.getTitleAt(fromIndex); tabbedPane.removeTabAt(fromIndex); tabbedPane.insertTab(title, null, tab, null, toIndex); tabbedPane.setSelectedIndex(toIndex); } public static void main(String[] args) { TabbedPaneExample example = new TabbedPaneExample(); example.moveTab(0, 2); } } ``` 在这个例子中,我们创建了一个拥有三个选项卡的JTabbedPane,并且实现了一个moveTab()方法来移动选项卡。在main()方法中,我们调用了moveTab()方法来将第一个选项卡移动到第三个位置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值