加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 检测用户何时完成SWT shell的大小调整

发布时间:2020-12-15 04:51:54 所属栏目:Java 来源:网络整理
导读:我有一个可调整大小的SWT shell.每次调整大小时,我都必须做一些计算密集的事情. 我可以在我的shell上注册一个ControlListener,但是这会在整个调整大小操作中连续生成事件,我不知道调整大小拖动类型鼠标操作何时结束. 我希望能够检测用户何时完成shell的大小
我有一个可调整大小的SWT shell.每次调整大小时,我都必须做一些计算密集的事情.

我可以在我的shell上注册一个ControlListener,但是这会在整个调整大小操作中连续生成事件,我不知道调整大小拖动类型鼠标操作何时结束.

我希望能够检测用户何时完成shell的大小调整,然后启动我的计算密集型操作.任何想法如何去做?

解决方法

使用计时器并在上次收到调整大小事件后延迟一秒钟后开始操作?
草稿:

long lastEvent;

ActionListener taskPerformer = new ActionListener() {
            public void doCalc(ActionEvent evt) {
                if ( (lastEvent + 1000) < System.currentTimeMillis() ) {
                   hardcoreCalculationTask();
                } else {
                  // this can be timed better
                  new Timer(1000,taskPerformer).start();
                }
            }
        };
}

在你的resize事件中:

lastEvent = System.currentTimeMillis();
 new Timer(1000,taskPerformer).start();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读