【IT168 技术文档】在介绍组件之前,有必要介绍一下Control类。Control类是一个抽象类,它是所有窗口组件(即在Windows中能获得句柄的部件)的基类。
Control类的继承关系
Control类是为继承而设计的,所有窗口组件都继承于Control类,如图1所示。
图1 Control类的继承关系
Control的一个实例代表Windows中的一个窗口组件,它中有窗口名柄属性,但是在程序中不能够直接访问。
Control类的常用方法
Control类提供了窗口组件中的常用方法,所有的窗口组件都可以调用Control类的方法,常用方法如下。
1. setBounds (int x, int y, int width, int height)
解释:设定窗口组件的位置,参数(x,y)为窗口组件左上角顶点的相对于父窗口坐标,(width,height)为窗口的宽度和高度。
示例:button.setBounds(40, 50, 100, 30)。
2. setEnabled (boolean enabled)
解释:设定窗口是否可用,参数enabled为true表示窗口可用,为false表示窗口禁用。
示例:button.setEnabled(false)。
3. setVisible (boolean visible)
解释:设定窗口是否可显示,参数visible为true表示窗口可显示,为false表示窗口不可显示。
示例:button.setVisible(false)。
4. setToolTipText (String string)
解释:设定鼠标指向窗口时的提示信息,参数string为提示信息的内容。
示例:button.setToolTipText("very good")。
5. setFont (Font font)
解释:设定窗口文字的字体,参数font为字体对象。
示例:button. setFont (font)。
6. setForeground (Color color)
解释:设定窗口的前景色,参数color为颜色对象。
示例:button. setForeground (color)。
7. setBackground (Color color)
解释:设定窗口的背景色,参数color为颜色对象。
示例:button. setBackground (color)。
8. setCursor (Cursor cursor)
解释:设定窗口的光标形状,参数cursor为光标对象。
示例:button.setCursor(new Cursor(null,SWT.CURSOR_WAIT));
9. Control (Composite parent, int style)
解释:窗口组件中的构造函数一般会调用Control类的构造函数,参数parent为当前构建的窗口的父窗口,style为当前构建窗口的样式(默认可以指定为SWT.NONE)。
示例:Button button = new Button(shell, SWT.NONE)。
另外,Control类还实现了一些和窗口有关的方法,例如createWidget和createHandle等,这些方法直接和操作系统相关,有兴趣的读者可以继续研究。
提示:并不是所有的组件调用Control的方法都有用,有些方法是为某些特殊的组件而存在的。