遇到困难::添加mouseevent监听,我用的mouse_DragedDetected配合MouseEvent.Pressed,,闪的不行,后来借鉴swing的pressed,move,release那个,但是这个fx在拖动时就认为不在pressed状态下,这个时候这个按下点和弹起就靠近了。,,,

解决方法:在mouseDrag中直接操作,,,具体:原始鼠标位置与窗口位置的差距,拖动后的位置为当前鼠标位置减去前者。

 1.声明:
 private double lastx_distance,lasty_distance;
 2.确认初位置:
 stage.addEventFilter(MouseEvent.MOUSE_PRESSED, new EventHandler<MouseEvent>() {
             private int i=0;
             @Override
             public void handle(MouseEvent event) {
                 // TODO Auto-generated method stub
                 System.out.println("点了舞台::"+i+++"左上角:["+stage.getX()+","+stage.getY()+"],鼠标位置_在窗口中:["
                         +event.getX()+","+event.getY()+"],在屏幕中点:["+event.getScreenX()+","+event.getScreenY()+"]");

                 lastx_distance = event.getScreenX()-stage.getX();
                 lasty_distance = event.getScreenY()-stage.getY();
             }});
 3.拖动实现:
 stage.addEventFilter(MouseEvent.MOUSE_DRAGGED, new EventHandler<MouseEvent>() {
             int i=0;
             ///-----------------------------------方法-----2---------------
             //last-point已经有初值了
             @Override
             public void handle(MouseEvent event) {
                 // TODO Auto-generated method stub
                 System.out.println("不稳定,拖动次数::"+i++);
                 move_stage = true;
                 stage.setX(event.getScreenX()-lastx_distance);
                 stage.setY(event.getScreenY()-lasty_distance);
             }
         });

__无标题栏的窗口拖动___javafx的更多相关文章

  1. WTL中最简单的实现窗口拖动的方法(转)

    目前,很多基于对话框的应用程序中对话框都是不带框架的,也就是说对话框没有标题栏.众所周知,窗口的移动都是通过鼠标拖动窗口的标题栏来实现的,那么现在应用程序中的对话框没有了标题栏,用户如何移动对话框呢? ...

  2. winform无边框窗口拖动

    无边框的窗口想拖动,只需要在置顶的容器上添加对应的mousedown 和 mousemove 事件就可以实现了.代码如下: //拖动窗口 private Point mPoint = new Poin ...

  3. MFC中无标题栏窗口的移动

    原文链接: http://blog.sina.com.cn/s/blog_6288219501015dwa.html   移动标准窗口是通过用鼠标单击窗口标题条来实现的,但对于没有标题条的窗口,就需要 ...

  4. Qt 隐藏标题栏后实现窗口拖动、设置窗口透明

    隐藏标题栏 setWindowFlags(Qt::CustomizeWindowHint); setWindowFlags(Qt::FramelessWindowHint); 两个函数都可以去掉标题栏 ...

  5. Duilib改进窗口拖动,使整个窗口都能拖动两种方法(转载)

    转载:http://www.cnblogs.com/XiHua/articles/3490490.html 转载:http://blog.csdn.net/lostspeed/article/deta ...

  6. duilib进阶教程 -- 改进窗口拖动 (12)

    现在大家应该都知道caption="0,0,0,32",是指示标题栏区了吧,如果想要整个窗口都能拖动呢? 那直接把高度改成和窗口一样不就得了~O(∩_∩)O~ 嗯,这样是可以,比如 ...

  7. qml实现窗口拖动

    在去掉窗口标题栏后窗口会失去鼠标拖动效果,所以需要自己添加拖动效果. 实现代码: ApplicationWindow {     id: mainWindow     visible: true    ...

  8. C# 移动无标题栏窗体的几种方法

    第一种,手工移动. 该方法根据鼠标位置实现窗体的移动.网上有很多相关的例子,这里不再多讲. 第二种,调用系统API原理:是当鼠标左键按下时,让系统认为是在标题栏按下的.这里我们用到了winapi里的W ...

  9. 29.QT-自定义窗口拖动、自定义QToolButton/QPushButton开关按钮、界面阴影,声音等总结

    自定义窗口及拖动 1.自定义无边框窗口时,需要将窗口标志设为: Qt::FramelessWindowHint |Qt::WindowSystemMenuHint | Qt::WindowMinMax ...

随机推荐

  1. 那么 Appium 到底是怎么工作的呢?

    因为官网文档写的没有梯度,作为新手的我花了好几个小时硬是没看明白它是怎么工作的. 网上教程也基本都是翻译,所以结构很复杂.和其他技术耦合度很高,且没有说明. 我自己总结了一份超简单 Appium 自动 ...

  2. chrome开发工具指南(九)

    检查和管理存储.数据库与缓存 查看和修改本地存储与会话存储. 检查和修改 IndexedDB 数据库. 对 Web SQL 数据库执行语句. 查看应用缓存和服务工作线程缓存. 点击一次按钮即可清除所有 ...

  3. asp.net mvc 4 项目升级到 asp.net mvc5

    一.开始 1.打开或新建asp.net mvc 4项目 2.修改 global.asax文件 原: WebApiConfig.Register(GlobalConfiguration.Configur ...

  4. ZXing生成条形码、二维码、带logo二维码

    采用的是开源的ZXing,Maven配置如下,jar包下载地址,自己选择版本下载,顺便推荐下Maven Repository <!-- https://mvnrepository.com/art ...

  5. JSONP的实现流程

    在进行AJAX的时候会经常产生这样一个报错: 看红字,这是浏览器的同源策略,使跨域进行的AJAX无效.注意,不是不发送AJAX请求(其实就是HTTP请求),而是请求了,也返回了,但浏览器‘咔擦’一声, ...

  6. 团队作业10——项目复审与事后分析(Beta阶段)

    一.Beta阶段项目复审 http://www.cnblogs.com/womenshuodedoudui/p/7001208.html 二.事后诸葛分析 http://www.cnblogs.com ...

  7. 201521123075 《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 源代码为 public boolean contains(Object o) ...

  8. 201521123087 《java程序设计》 第七周学习总结

    1. 本周学习总结 2. 书面作业 ArrayList代码分析1.1 解释ArrayList的contains源代码                                           ...

  9. 201521123038 《Java程序设计》 第六周学习总结

    201521123038 <Java程序设计> 第六周学习总结 1. 本周学习总结 2. 书面作业 1.clone方法 1.1 Object对象中的 clone 方法是被protected ...

  10. windows消息机制与实例

    windows发送窗口消息 所需工具:spy++,visual studio 2017,c#语言 技术路线:首先通过spy++获得所要操纵的窗口的句柄,函数的原型声明为: [DllImport(&qu ...