`

SWT的GridData一些参数的图示

    博客分类:
  • SWT
 
阅读更多

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还没弄出来。

分享到:
评论

相关推荐

    griddata:matlab中的插值命令解析 griddata.doc

    `griddata`接受四个主要参数:`X`,`Y`,`Z`,和`queryPoints`。`X`和`Y`分别表示数据点的横坐标和纵坐标,`Z`是对应于这些点的值,`queryPoints`是要进行插值的新的查询点。 基本格式为: ```matlab Zq = griddata...

    swt 画图小程序 自由画线 矩形

    swt 画图小程序 自由画线 矩形。。import org.eclipse.swt.SWT; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent;...import org.eclipse.swt.layout.GridData;

    org.eclipse.swt.win32

    org.eclipse.swt.SWT.class org.eclipse.swt.SWTError.class org.eclipse.swt.SWTException.class org.eclipse.swt.accessibility.ACC.class org.eclipse.swt.accessibility.Accessible.class org.eclipse.swt....

    swt-界面设计

    text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); // 添加Button Button button = new Button(composite, SWT.PUSH); button.setText("Click Me"); button.addSelectionListener...

    MATLAB二维散点插值(griddata函数用法)

    MATLAB中的`griddata`函数正是为此目的设计的,它能够帮助用户在二维散点数据上进行插值,构建出平滑的曲面或者图像。 `griddata`函数的基本语法是: ```matlab Z = griddata(x, y, z, xi, yi) ``` 这里,`x`, `y`...

    Java程序设计之swt教程

    button.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1)); ``` #### 5. SWT的事件处理 SWT支持事件驱动模型,可以通过监听器或自定义控件来响应用户交互。 **示例代码:** ```java ...

    swt布局.doc

    例如,`RowLayout`对应`RowData`,`GridLayout`对应`GridData`,`FormLayout`对应`FormData`。设置组件的布局数据如下: ```java Button button = new Button(shell, SWT.PUSH); button.setLayoutData(new RowData...

    SWT(JFace)小制作 FileBrowser文件浏览

    代码如下: 代码如下:package swt_jface.demo6; import java.io.File; import java.util.Date;... import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt

    swt 布局管理器 java中应用

    RowLayout的一些关键属性包括`wrap`(决定是否允许换行)、`justify`(是否使各行中的组件宽度相等)、`type`(指定布局的方向,可以是水平或垂直)等。 #### GridLayout网格布局 GridLayout是最常用的布局管理器...

    如何在SWT中使用AWT、SWING组件

    swtComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); new SwingControl(swtComposite, swingPanel); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display....

    Surfer Griddata:一个带有surfer (v7) 的网格界面。 就像 griddata 一样工作。-matlab开发

    对于那些拥有黄金软件 Surfer 的人来说,它是 griddata 的替代品。 (与我的测试数据集的 griddata 相比,速度非常快!) 用法: [Xi,Yi,Zi]=surfergriddata(X,Y,Z,Xi,Yi,method) 或[Xi,Yi,Zi]=surfergriddata(X,Y...

    SWT开发布局(讲解Eclipse的开发插件)

    【SWT布局详解:Eclipse开发插件使用】 在Java平台上,SWT(Standard Widget Toolkit)是一种用于构建图形用户界面(GUI)的库,它是Eclipse IDE中的核心组成部分。SWT提供了一系列的基础控件和布局管理器,使得...

    java swt table

    GridData tableData = new GridData(SWT.FILL, SWT.CENTER, true, true); table.setLayoutData(tableData); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep...

    SWT 编 程 总 结

    SWT还支持一些不特定类型的事件,如事件监听器接口。 ##### 10.4 SWT事件详细介绍 ###### 10.4.1 鼠标事件 - **MouseListener**:监听鼠标点击事件。 - **MouseMoveListener**:监听鼠标移动事件。 - **...

    griddata3的扩展版本:获取多个3D体的网格数据。-matlab开发

    griddata3 函数的耗时部分是 delaunay 曲面细分。 如果有多个具有相同分散坐标的体积,griddata3ev(ev:扩展版本)func 进行一次曲面细分并将其应用于所有体积。 如果卷太大,griddata3ev 函数会像 griddata3 一样...

    gridfitdir法拟合曲面-griddata函数改进

    该工具是对matlab中三维插值拟合函数griddata的改进,可以在3维空间中,为一组离散的点寻找一个最佳的拟合曲面,并且更加简单易用,做出来的图更加美观,打包的工具包内包含所有代码和使用说明,还有效果图

    Eclipse_Swt_Jface_核心应用_部分19

    7.4.4 使用GridData对象 107 7.4.5 设置单元格对齐方式:horizontalAlignment和verticalAlignment属性 108 7.4.6 设置缩进大小:horizontalIndent和verticalIndent属性 109 7.4.7 设置单元格跨行和跨列显示:...

    Interpolation:使用最近,线性,v4的griddata进行插值-matlab开发

    在提供的压缩包`interpolarefarav4pct_control.zip`中,可能包含了一些示例代码、数据集和控制参数,用于演示和练习这些插值方法。解压后,你可以运行这些文件来了解它们如何在实际问题中应用插值技术。记住,理解...

Global site tag (gtag.js) - Google Analytics