以前以为Slider和Scale之间只是外观的区别,今天发现不是这样的,因为Slider有一个特点:getSelection()能得到的最 大值并不是getMaximum()的值,要减去getThumb()值,后者是中间的滑块所拥有的值,缺省为10,最小为1。运行这个程序观察控制台的 输出。

import org.eclipse.swt.*;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.*;

public class SliderTest {

public static void main(String[] args) {
        Display display = new Display();
        Shell shell = new Shell(display);
        
        //Slider
        final Slider slider = new Slider(shell, SWT.HORIZONTAL);
        slider.setBounds(10, 10, 200, 32);
        slider.setMinimum(0);
        slider.setMaximum(100);
        slider.setThumb(5);
        slider.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                System.out.println("Slider Selection:" + slider.getSelection());
            }
        });

//Scale
        final Scale scale = new Scale(shell, SWT.HORIZONTAL);
        scale.setBounds(10, 50, 200, 72);
        scale.setMinimum(0);
        scale.setMaximum(100);
        scale.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                System.out.println("Scale Selection:" + scale.getSelection());
            }
        });

shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
                display.sleep();
        }
        display.dispose();
    }
}

本文转自博客园八进制的博客,原文链接:SWT里Slider和Scale的区别,如需转载请自行联系原博主。

SWT里Slider和Scale的区别相关推荐

  1. zoom和transform:scale()的区别

    文章目录 1. 兼容行区别 2. 控制缩放的属性值不一样 3. zoom缩放会将元素保持在左上角,而scale默认是中间位置,可以通过transform-origin来设置 4. 对文字的缩放规则不一 ...

  2. http 里面的post和get区别

    区别: 还有就是请求包的个数:get 是1个 httpheader+data ,post是两个,先http header,再data 在我大万维网世界中,TCP就像汽车,我们用TCP来运输数据,它很可 ...

  3. CSS中zoom和scale的区别

    zoom和scale这两个东西都是用于对元素的缩放,但两者除了兼容性之外还有一些不同的地方. zoom缩放会将元素保持在左上角,而scale默认是中间位置,可以通过transform-origin来设 ...

  4. C++的类和C里面的struct有什么区别

    关于使用大括号初始化class和struct如果定义了构造函数的话,都不能用大括号进行初始化 如果没有定义构造函数,struct可以用大括号初始化. 如果没有定义构造函数,且所有成员变量全是publi ...

  5. TypeScript 里 interface 和 type 的区别

    StackOverflow 上的讨论链接 Interface vs Type alias in TypeScript 2.7 Differences Between Type Aliases and ...

  6. Angular 里 unknown 和 any 的区别

    在SAP Spartacus项目里,我们定义的一个配置对象refreshFocus 属性的类型,为unknown: 这个StackOverflow讨论对于unknown和any的区别做了比较清楚的阐述 ...

  7. 关于C++ 里struct 和 class的区别

    转载地址:http://blog.sina.com.cn/s/blog_673ab5410100zzlf.html 有很多人在学习C++的时候只是了解了C++的语法,或者更高层次的人是理解了oo,但在 ...

  8. C语言里栈和堆的区别整理

    这里说的是C语言程序内存分配中的堆和栈.下面先谈谈C语言的内存管理: 可执行程序在存储时(没有调到内存)分为代码区(text).数据区(data)和未初始化数据区(bss)3个部分. (1)代码区(t ...

  9. zoom与scale的区别

    最近做了两个项目,一个需要对字体缩小,小于默认的字体大小(12px),最后使用transform:scale(0.9),但整个元素宽高都被缩小了,感觉很不好~~~做另外一个项目要求将整体页面安一定比例 ...

最新文章

  1. 话说Ubuntu和FreeBSD将要合成一个新的版本:UbuntuBSD
  2. 腾讯云携手SENSORO,为城市安全保驾护航
  3. Hive学习之七《 Sqoop import 从关系数据库抽取到HDFS》
  4. IntelliJ IDEA创建maven web项目
  5. 找到下一个“元素节点”通用函数
  6. php解析doc试卷,PHP试题(卷)带答案解析.doc
  7. 刘作虎:一加 8 系列新品将加入无线充电功能
  8. 剑指offer——8.二叉树的下一个节点
  9. JAVA-SWING:生成透明JTable的改进1
  10. python 排列组合 数据量过大_Python 排列组合的实现
  11. 怎么把html格式转换成数字,Excel文本格式怎么转化成数字格式 excel文本转化数字格式教程...
  12. BAT脚本实现FTP文件自动传输
  13. 我工作这十年-中国在崛起
  14. G-Transformer for Document-level Machine Translation
  15. 关于datanode进程无法启动的另一种解决方法 java.io.IOException: Incompatible clusterIDs in /export/servers/hadoop-3.1.
  16. 100本软件开发最佳书籍排行榜
  17. 1064: [Noi2008]假面舞会
  18. 今日科技联播:微软联合创始人之一保罗·艾伦去世;锤子否认分公司解散传闻...
  19. 利用Python爬虫爬取网页福利图片
  20. 面试过阿里的P7大佬分享:180+道Java面试题目!含答案解析!

热门文章

  1. sql 查询的在northern最大的价值(LAT_N),小于137.2345 ,在小数点后4 位截断
  2. 排序算法_HeapSort
  3. [转]麻省理工学院(MIT)研究生学习指导[上]
  4. DEC VT100 terminal
  5. 2013年工作中用到的10个命令:11-20
  6. 第六章 线程的基础知识
  7. 【C++笔记】构造函数与析构函数相关知识
  8. 并发请求多 服务器响应慢 post,【转】吞吐量、QPS(TPS)、并发数、RT性能指标及ab并发测试...
  9. pg注释某一段语句不执行_@Autowired的使用:推荐对构造函数进行注释
  10. layui select第一次无法选中_Windows 10 无法访问共享的解决办法大全