快速业务通道

SWT和JFace,第3部分: 简介 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
色的映射。

清单 4. 用于创建 TabFolder 和 TabItem 的方法

… new PaintListener() {    public void paintControl(PaintEvent e) {      GC gc = e.gc;      gc.setBackground(canvas.getDisplay().        getSystemColor(colorIds[0]));      Point cext = canvas.getSize();      gc.fillRectangle(0, 0, cext.x, cext.y);      for (Iterator i = gcObjects.iterator();        i.hasNext();) {        PaintItem pi = (PaintItem)i.next();        pi.paint(gc);      }   } }… protected static int[] colorIds = {    SWT.COLOR_WHITE, SWT.COLOR_BLUE, SWT.COLOR_CYAN,    SWT.COLOR_GRAY, SWT.COLOR_GREEN, SWT.COLOR_MAGENTA,    SWT.COLOR_RED, SWT.COLOR_YELLOW, SWT.COLOR_BLACK };

SWT和JFace,第3部分: 简介(4)

时间:2011-03-20 IBM Barry Feigenbaum

清单 5 中显示了一些代码,这些代码先清除绘画,然后创建由一组矩形和椭圆组成的绘画。通过 GUI 上的按钮可以激活此代码。

清单 5. 用于处理绘制事件的方法

public void doClear() {    gcObjects.clear();    canvas.redraw(); } public void doDraw() {    gcObjects.clear();    Display display = drawButton.getDisplay();    // create a bunch of objects    for (int i = 0; i < 50; i++) {      if (i % 2 == 0) {        RectangleItem ri = new RectangleItem();        ri.extent = new Rectangle(nextInt(500), nextInt(250),                     nextInt(500), nextInt(250));        ri.color = display.          getSystemColor(colorIds[nextInt(colorIds.length)]);        ri.fill = i % 3 == 0;        gcObjects.add(ri);      }      else {        ElipseItem ei = new ElipseItem();        ei.extent = new Rectangle(nextInt(500), nextInt(250),                     nextInt(500), nextInt(250));        ei.color = display.          getSystemColor(colorIds[nextInt(colorIds.length)]);        ei.fill = i % 5 == 0;        gcObjects.add(ei);      }    }    canvas.redraw(); }

Spinner、Slider、Scale 和 ProgressBar

SWT 支持几种输入离散值的方法。Scale 允许在(通常很小的)整数范围内挑选一个值。Slider 允许使用类似滚动条的方法在(可能很大的)整数范围内挑选一个值。Spinner 允许挑选(通过向前/撤退按钮)或键入一个(可能为小数的)数字。注意,Spinner 是 Eclipse V3.1 中的一个新特性。ProgressBar 类似于一个只输出的 Slider,因为可以用它来展示增量活动(进度)。

通常,这些控件允许您提供最小值、最大值和初始值。除了 ProgressBars 之外,这些控件还支持增量值和页面增量值,Sliders 还支持 thumb 宽度。图 4 展示了一个 GUI,它在控件组内包含一个 Slider、一个 Spinner 和一个 Scale,在这些控件的下方是一个 ProgressBar。紧贴在进度条上的是一个(居中的)Label,它展示了进度条的值。

图 4. 控件的例子

SWT和JFace,第3部分: 简介 - 编程入门网

SWT和JFace,第3部分: 简介(5)

时间:2011-03-20 IBM Barry Feigenbaum

必须将所有这些控件定义为以下两种相互排斥的样式之一:

HORIZONTAL —— 水平地布置控件。

VERTICAL —— 垂直地布置控件。

Spinners 支持其他一些可选样式:

WRAP —— 从高值向低值换行排列。

READ_ONLY —&m

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号