1. 参数;verticalSpan

GridData gridData=new GridData();
gridData.verticalSpan=100;

final Text nameText=new Text(shell, SWT.BORDER);
nameText.setLayoutData(gridData);

  可以发现,verticalSpan代表的是控件占据的行数。

若代码如下:

public class LBMShow{
public static void main(String args[]){
final Display display=Display.getDefault();
final Shell shell=new Shell(display);
shell.setText("Hello");
GridLayout gridLayout=new GridLayout(2, true);
GridData gridData=new GridData();
gridData.verticalSpan=100;
shell.setLayout(gridLayout); final Label nameLabel=new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText=new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData); final Label passwdLabel=new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText=new Text(shell, SWT.BORDER);
passwdText.setText("2"); final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout(); //消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}

则效果如下:

2.参数: horizontalSpan

  horizontalSpan代表的是:一个控件所占列数,默认一行包含1个位置,所以若将其设置为2时,这个控件会独占一行。

代码:

public class LBMShow{
public static void main(String args[]){
final Display display=Display.getDefault();
final Shell shell=new Shell(display);
shell.setText("Hello");
GridLayout gridLayout=new GridLayout(2, true);
GridData gridData=new GridData();
gridData.horizontalSpan=2;
shell.setLayout(gridLayout); final Label nameLabel=new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText=new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData); final Label passwdLabel=new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText=new Text(shell, SWT.BORDER);
passwdText.setText("2"); final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout(); //消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}

效果;

3.参数: grabExcessHorizontalSpace

  这个参数只有true或false的选择,默认为false。他表示是否填充剩余的水平空间。

代码:

public class LBMShow{
public static void main(String args[]){
final Display display=Display.getDefault();
final Shell shell=new Shell(display);
shell.setText("Hello");
GridLayout gridLayout=new GridLayout(2, true);
GridData gridData=new GridData();
gridData.grabExcessHorizontalSpace=true;
shell.setLayout(gridLayout); final Label nameLabel=new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText=new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData); final Label passwdLabel=new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText=new Text(shell, SWT.BORDER);
passwdText.setText("2"); final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout(); //消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}

效果:

4. 参数: grabExcessVerticalSpace

此参数表示控件是否填充垂直的剩余空间。

代码:

public class LBMShow{
public static void main(String args[]){
final Display display=Display.getDefault();
final Shell shell=new Shell(display);
shell.setText("Hello");
GridLayout gridLayout=new GridLayout(2, true);
GridData gridData=new GridData();
gridData.grabExcessVerticalSpace=true;
shell.setLayout(gridLayout); final Label nameLabel=new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText=new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData); final Label passwdLabel=new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText=new Text(shell, SWT.BORDER);
passwdText.setText("2"); final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout(); //消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}

效果:

5.参数: widthHint

  这个参数的意思是控件的最小宽度,可以设定控件的宽度

代码;

public class LBMShow{
public static void main(String args[]){
final Display display=Display.getDefault();
final Shell shell=new Shell(display);
shell.setText("Hello");
GridLayout gridLayout=new GridLayout(2, true);
GridData gridData=new GridData();
gridData.widthHint=500;
shell.setLayout(gridLayout); final Label nameLabel=new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText=new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData); final Label passwdLabel=new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText=new Text(shell, SWT.BORDER);
passwdText.setText("2"); final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout(); //消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}

效果:

6.参数: heightHint

  这个参数表示控件的最小高度。

代码:

public class LBMShow{
public static void main(String args[]){
final Display display=Display.getDefault();
final Shell shell=new Shell(display);
shell.setText("Hello");
GridLayout gridLayout=new GridLayout(2, true);
GridData gridData=new GridData();
gridData.heightHint=500;
shell.setLayout(gridLayout); final Label nameLabel=new Label(shell, SWT.BORDER);
nameLabel.setText("name: ");
final Text nameText=new Text(shell, SWT.BORDER);
nameText.setText("1");
nameLabel.setLayoutData(gridData);
nameText.setLayoutData(gridData); final Label passwdLabel=new Label(shell, SWT.BORDER);
passwdLabel.setText("password: ");
final Text passwdText=new Text(shell, SWT.BORDER);
passwdText.setText("2"); final Button button = new Button(shell, SWT.NONE);
button.setText("登录");
//button.setBounds(32, 28, 58, 22);
shell.open();
//shell.layout(); //消息循环
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}

效果:

7.参数;horizontalAlignment和verticalAlignment还没弄出来。

SWT的GridData一些参数的图示的更多相关文章

  1. SWT的GridLayout一些参数解释

    1. GridLayout类的说明GridLayout在包org.eclipse.swt.layout中,各参数意义如下:1. numColumns指定布局器中的列数2. horizontalSpac ...

  2. 关于SWT中的GridLayout布局方式

    GridLayout 布局的功能非常强大,也是笔者常用的一种布局方式.GridLayout是网格式布局,它把父组件分成一个表格,默认情况下每个子组件占据一个单元格的空间,每个子组件按添加到父组件的顺序 ...

  3. swt TableViewer

    http://blog.163.com/bluefield_wild/blog/static/8182709520085612235336/ package list; import java.uti ...

  4. 简介SWT Jface

    可以使用标准窗口小部件工具箱(Standard Widget Toolkit,SWT)和 JFace 库来开发用于 Eclipse 环境的图形用户界面,而且还可以将它们用于开发单独的 GUI 本机应用 ...

  5. 【插件开发】—— 7 SWT布局详解,不能再详细了!

    前文回顾: 1 插件学习篇 2 简单的建立插件工程以及模型文件分析 3 利用扩展点,开发透视图 4 SWT编程须知 5 SWT简单控件的使用与布局搭配 6 SWT复杂空间与布局搭配 前面几篇都提到了S ...

  6. 自定义SWT控件六之自定义Tab

    6.自定义tab 本章节提供的自定义tab 分为两类 tab上带删除按钮和添加按钮,可删除tab和添加tab tab不可删除和添加 6.1 不可删除tab package com.view.contr ...

  7. swt java 内嵌ActiveX控件

    这里用的是SWT/JFace开发application中SWT自带的org.eclipse.swt.ole.win32 包可以支持内嵌OLE和ActiveX. 具体用法如下: //创建一个OleFra ...

  8. Java SWT 做计算器。

    java  --  swt  - -  计算器 环境搭建 安装java.eclipse.以及对应的swt插件. 开始工程 建立工程: 在java下建立一个在其他 —- WindowsBuilder — ...

  9. 关于SWT中的表格(TableViewer类)

    JFace是SWT的扩展.它提供了一组功能强大的界面组件.其中包含表格,树,列表.对话框,向导对话框等. 表格是一种在软件系统中很常用的数据表现形式.特别是基于数据库的应用系统.表格更是不可缺少的界面 ...

随机推荐

  1. linux编程掌握常用命令

    1)编译应用程序 make -f makefile_5_2 clean make -f makefile_5_2 2)关于共享目录 在linux虚拟机的/mnt/hgfs下可看到该文件夹 3)cd命令 ...

  2. KMP原理、分析及C语言实现

    (是在matrix67博客基础上整理而来,整理着:华科小涛@http://www.cnblogs.com/hust-ghtao/) 有些算法可以让人发疯,KMP算法就是一个.在网上找了很多资料讲的都让 ...

  3. 如何在Linux上检查SSH的版本(转)

    SSH协议规范存在一些小版本的差异,但是有两个主要的大版本:SSH1 (版本号 1.XX) 和 SSH2 (版本号 2.00). 事实上,SSH1和SSH2是两个完全不同互不兼容的协议.SSH2明显地 ...

  4. UIPageControl的一个Demo

    本篇文章只是记录了一个自定义UIPageControl 的制作,其实很简单的   源码在底部会奉上链接,还望多多交流,多多支持. 首先效果图如下: 首先先做一个UISCrollView // 建议这样 ...

  5. 键盘皇者 RealForce 104Pro独家评测

    http://tech.sina.cn/?sa=t84d20738943v44&page=2&pwt=rest2&vt=4&from=mbaidu&clickt ...

  6. Linux Shell常用技巧(二) grep

    七. grep家族:       1.  grep退出状态:    0: 表示成功:    1: 表示在所提供的文件无法找到匹配的pattern:    2: 表示参数中提供的文件不存在.    见如 ...

  7. Swift - 操作SQLite数据库(引用SQLite3库)

    SQLite轻量级数据库在移动应用中使用非常普遍,但是目前的库是C编写的,为了方便使用,对SQLite相关的操作用Swift进行了封装.这个封装代码使用了一个开源项目SQLiteDB,地址是:http ...

  8. SQL中EXISTS的用法(转)

    比如在Northwind数据库中有一个查询为SELECT c.CustomerId,CompanyName FROM Customers cWHERE EXISTS(SELECT OrderID FR ...

  9. js 常用正则表达式分析详解

    1.整数或者小数:/^((0{1}|[1-9]{1}[0-9]+)\.{1}[0-9]+|[1-9]{1}[0-9]*|0)$/ 分析:分类讨论,如果是小数,则有两种形式   0.111对应的是 0{ ...

  10. jQuery EasyUI API 中文文档 - 链接按钮(linkbutton)

    <html> <head> <script src="jquery-easyui/jquery.min.js"></script> ...