GEF -- 学习一下调色板,我们不知道的东西(三)影子武士Tracker
2010-08-17 15:35
246 查看
在研究GEF的调色板实现时,发现了以前从没有用过的一个SWT控件,可能是因为我很少在程序中处理鼠标移动等等事件的原因吧。这个好东西就是Tracker,我非常希望能把它称为影子武士,因为Tracker常常和鼠标的点击、移动事件相配合,动态地显示所操作组件的位置大小的改变,从某种意义上来说Tracker非常像是SWT中的GEF Handle;
下面简要介绍一下它的基本使用;(插一句,在GEF的调色板实现中Tracker主要应用在了Sash Drag和调色板的Dock过程中)
Tracker直接继承自Widget,和其他的Widget一样,构造函数需要parent和style,其中parent就是我们需要跟踪的哪个控件,在这里就不赘述了。我之所以称Tracker为影子武士主要是因为Tracker可以通过一个阴影的方式显示一个矩形,这可以通过setRectangles方法来实现,有这个方法名称我们可以看出一个Tracker可以指定多个矩形,说句实话,我不是很明白设定多个矩形的必要在哪里,至少我现在还没有碰到。
当然能够设定矩形还不是最主要的,因为单单设定一个矩形的话,用户感受并不是很好,因此它还有一个方法:setStippled(boolean)用来指定是不是在Tracker中画点,这个自己试一试就知道了。一般设置为True比较好看;
此外,以上设定仅仅是基础参数的设定,那么Trcker本身是怎么工作的呢,这就要提到它的另一个方法open,只有调用了它,Tracker才会真正的显示出来,这个时候鼠标的移动就会被我们的影子武士表示出来了;
当然,为了更好的表示我们的移动方向,最好还要设置一下Tracker的cursor,方法是:setCursor;
总结一下Tracker的使用:
1、定义鼠标的点击、移动事件处理器;
2、定义Tracker为某一个组件的Tracker;
3、定义Tracker的cursor、矩形等等;
4、打开Tracker,即调用方法open;
下面简要介绍一下它的基本使用;(插一句,在GEF的调色板实现中Tracker主要应用在了Sash Drag和调色板的Dock过程中)
Tracker直接继承自Widget,和其他的Widget一样,构造函数需要parent和style,其中parent就是我们需要跟踪的哪个控件,在这里就不赘述了。我之所以称Tracker为影子武士主要是因为Tracker可以通过一个阴影的方式显示一个矩形,这可以通过setRectangles方法来实现,有这个方法名称我们可以看出一个Tracker可以指定多个矩形,说句实话,我不是很明白设定多个矩形的必要在哪里,至少我现在还没有碰到。
当然能够设定矩形还不是最主要的,因为单单设定一个矩形的话,用户感受并不是很好,因此它还有一个方法:setStippled(boolean)用来指定是不是在Tracker中画点,这个自己试一试就知道了。一般设置为True比较好看;
此外,以上设定仅仅是基础参数的设定,那么Trcker本身是怎么工作的呢,这就要提到它的另一个方法open,只有调用了它,Tracker才会真正的显示出来,这个时候鼠标的移动就会被我们的影子武士表示出来了;
当然,为了更好的表示我们的移动方向,最好还要设置一下Tracker的cursor,方法是:setCursor;
总结一下Tracker的使用:
1、定义鼠标的点击、移动事件处理器;
2、定义Tracker为某一个组件的Tracker;
3、定义Tracker的cursor、矩形等等;
4、打开Tracker,即调用方法open;
相关文章推荐
- GEF -- 学习一下调色板,我们不知道的东西(一)矩阵
- GEF -- 学习一下调色板,我们不知道的东西(二)重装
- 只学一点点:我的技术学习策略(虽然不赞同,但可以参考一下,针对不常用的技术可以这样,同时可以:寻找遁去的一,不用管别人怎么想;有学习的时间,不如自己写、自己实践,否则学完了都不知道是什么东西)
- 初学习cocos2d小结(感冒了,几行代码都记不住...稍微复杂一点的动作序列看不下去,还是总结一下这两天看的东西)
- 学习 vue.js,Node.JS 等技术不知道写什么东西?请推荐点稍微复杂点的入门项目。
- SEO并不只是那么简单的东西,我们到底还要学习哪些呢
- 嵌入式开发我们要学习那些东西呢?
- 激励一下自己,应该学习哪些东西
- 找了份工作, 会涉及到STM32芯片. 把最近学习的东西跟大家分享一下.
- 穆穆读的一些书籍推荐,读书的理由?读书的好处?为什么要读书?读什么书?让我们一起来读书,总之我们需要学习新的东西来适应这个社会的飞速变化。
- 开始写点东西,记录一下自己学习 .net
- 大家了解纸箱包装设备吗?下面让我们一起学习一下吧!
- 阶段总结:大概总结一下项目中学习的东西
- 答学生问:感觉学习了很多东西,但是做项目的时候不知道从哪
- 在做mes系统时,利用D7 IdMessage&IdSMTP发送邮件,从盒子上学习了不少的东西,自己整理了一下,想share给新手,学习参考!
- 在分割字符串的时候我们常常会用到Split,下面我们就来学习一下分割字符串的技巧和方法。
- 我们应该学习那些东西?
- 晚上写程序的时候就是不知道STDAPI这些东西是搞什么的,分享一下!
- 总结一下这几天学习matlab学到的东西
- 简单的,独立却互联的东西 【思考一下我们想看什么网站,他们要做什么网站】