快速业务通道

SWT/JFace入门指南之初步体验widget - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-21
调整控件大小。如果你希望系统自动调整,那么你需要首先设定控件需要表达的内容。举个例子来说,如果你的部件是一个文本框或者标签,你应该首先设定它所要显示的文本,这样系统可以通过文本的长度计算。

对于部件的位置,同样可以使用setLocation()或者setBounds()进行设定。

这里值得一提的是所谓的bounds,其实bounds可以看成是大小和尺寸的综合。比如setBounds(int x, int y,int width,int height)的参数中,x和y描述的是位置信息,而width和height描述了大小。

隐藏与失效

通过部件的setVisible方法可以控制部件进行隐藏或是显示。通过setEnabled方法可以控制部件是否有效。一个无效的部件不会对用户的任何动作作出响应。这两个方法的参数都是布尔型的。

提示文本

可以通过setToolTipText()方法设定部件的提示文本。

几种常用的部件

Label

标签用来显示静态的文本或者图像。关于图像和色彩我会在后面的部分进行介绍。

标签可以使用SWT.CENTER, SWT.LEFT, SWT.RIGHT中的一种指明文本的对齐方式(居中对齐,左对齐,右对齐)。

你也可以通过设置标签属性为SWT. SEPARATOR 使标签成为一条分隔符。

下面这个程序给出了标签的两种表现形式,其中使用了Layout,关于Layout的详细情况也会在后面的部分进行介绍:

1public class Labels { 2 3 public static void main(String[] args) { 4 Display display = new Display(); 5 Shell shell = new Shell(display,SWT.SHELL_TRIM); 6 RowLayout layout=new RowLayout(SWT.VERTICAL); 7 shell.setLayout(layout); 8 shell.setText("Labels"); 9 Label label1=new Label(shell,SWT.CENTER); 10 label1.setText("Label Demo"); 11 Label label2=new Label(shell,SWT.SEPARATOR | SWT.HORIZONTAL); 12 shell.setSize(100,100); 13 shell.open(); 14 15 while (!shell.isDisposed()) { 16 if (!display.readAndDispatch()) { 17 display.sleep(); 18 } 19 } 20 display.dispose(); 21 } 22} 23

SWT/JFace入门指南之初步体验widget(3)

时间:2011-01-04

代码段 4

最后得到的效果可以参照下图:

SWT/JFace入门指南之初步体验widget - 编程入门网

图 4

Text

Text就是最简单的文本框,与标签一样,我们可以通过设定它的风格来表示它的对齐方式(SWT.CENTER,SWT.LEFT,SWT.RIGHT),另外还有其他一些用于文本支持的方法,比如insert(),paster(),copy(),setSelection(),selectAll()等,这些方法在后面介绍swt事件模式会进行更详细的介绍。

Button

在swt中,Button并不仅仅是按钮。构造时候定义的风格不同,所体现出的外观也不一样。

如果风格定义成SWT.PUSH,它就是一个普通的按钮。

如果定义为SWT.TOGGLE,它在被按下以后会保持按下的形状(而不会弹起来),直到鼠标再次在上面按一下才会回复弹起的形状。

如果风格定义为SWT.ARROW,它是一个带箭头的按钮,箭头的指向可以选择SWT.LEFT,SWT.RIGHT,SWT.UP,SWT.DOWN中的一个。

如果定义为SWT.CHECK,它是一个复选框。

如果定义为SWT.RADIO,它是一个单选框。

下面一段程序演示了各种不同的Button。

1public class Buttons { 2 3 public static void main(String[] args) { 4 Display display = new Display(); 5 Shell shell = new Shell(display,SWT.SHELL_TRIM); 6 RowLayout layout=new RowLayout(SWT.VERTICAL); 7 shell.setLayout(layout); 8 shell.setText("Buttons"); 9 10 Button pushbutton=new Button(shell,SWT.PUSH | SWT.CENTER); 11 pushbutton.setText("SWT.PUSH"); 12 13 Button togglebutton=new Button(shell,SWT.TOGGLE | SWT.LEFT); 14 togglebutton.setText("SWT.TOGGLE"); 15 togglebutton.setSelection

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号