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. Android控件拖动的实现

    这个也是从网上得到的代码,例子比较简单,但是如果有需要此功能的,这个例子可以提供很多提示,首先,给个截图 这个是拖动以后的效果,一个imageview和一个button控件,提供两份代码下载吧,一份是 ...

  2. 使用JDBC处理数据库大容量数据类型

    在本文将介绍如何使用JDBC操作MySQL数据库对于大容量数据类型的读取.在之前的博客中已经介绍了如何使用JDBC来操作数据库对各种数据的增删改查,那么大容量数据类型的数据操作又为何不同呢. 原因在于 ...

  3. vue.js+boostrap

    vue.js+boostrap最佳实践 一.为什么要写这篇文章 最近忙里偷闲学了一下vue.js,同时也复习了一下boostrap,发现这两种东西如果同时运用到一起,可以发挥很强大的作用,boostr ...

  4. 谈谈Ext JS的组件——布局的用法续二

    绝对布局(Ext.layout.container.Absolute) 绝对布局让我回忆到了使用Foxpro开发的时候,哪时候的界面布局就是这样.通过设置控件的左上角坐标(x.y)和宽度来进行的,由于 ...

  5. TCP/IP协议全解析

    TCP/IP 是用于因特网 (Internet) 的通信协议. TCP/IP 是供已连接因特网的计算机进行通信的通信协议. TCP/IP 指传输控制协议/网际协议(Transmission Contr ...

  6. 辛星与您解读PHP页面跳转的几种实现方式

    因为页面跳转的使用是很频繁的,因此这里给出几种方式,事实上我想我并没有归纳全,毕竟函数那么多,要一下想起来还是特别麻烦的,于是,想到哪里就记到哪里把,等着以后再整理汇总. 第一种方式就是使用heade ...

  7. Qt 向word中插入文字(使用QAxWidget和QAxObject)

    pro 文件中要加入 CONFIG += qaxcontainer 2. main.cpp #include <QApplication> #include <QAxWidget&g ...

  8. 利用PHP SOAP扩展实现简单Web Services

    原文:利用PHP SOAP扩展实现简单Web Services WebServices能干什么? WebServices 可以将应用程序转换为网络应用程序. 通过使用 WebServices,您的应用 ...

  9. Android Studio之同一窗口打开项目

    Android Studio默认新打开的项目都是重新打开一个窗口,和原项目窗口同时存在,如果打开多个项目,则有很多窗口同时打开,怎么根据需要决定自己以何种方式打开呢? 1.设置打开新项目的方式 第一项 ...

  10. LCA 最近公共祖先 tarjan离线 总结 结合3个例题

    在网上找了一些对tarjan算法解释较好的文章 并加入了自己的理解 LCA(Least Common Ancestor),顾名思义,是指在一棵树中,距离两个点最近的两者的公共节点.也就是说,在两个点通 ...