初学SWT之布局应用

这次做下简单的笔记,SWT布局:RowLayout 和 GridLayout

/**
* 子组件将在父组件上一行或多行显示(设置相对应的属性,子组件会自动换行)
* RowLayout常用属性
* Wrap:子组件是否自动换行
* pack:子组件是否保持原有大小
* justify:子组件是否根据父组件信息做调整
* spacing:表示子组件之间的间距像素点个数
*/
public static void createRow(){
shell.setText("Test RowLayout");


//默认是横向布局
RowLayout row = new RowLayout(/*SWT.VERTICAL*/);
row.wrap = true;//自动换行
row.pack = true;//子组件是否保持原有大小
row.justify = true;//子组件是否根据父组件信息做调整
row.spacing = 20;//表示子组件之间的间距像素点个数
shell.setLayout(row);

Label label = new Label(shell, SWT.NONE);
label.setText("这是一条的数据");

Button but = new Button(shell, SWT.NONE);
but.setText("这是一个普通按钮");

Button but1 = new Button(shell, SWT.CHECK);
but1.setText("这是一个多选按钮");

Button but2 = new Button(shell, SWT.RADIO);
but2.setText("这是一个单选按钮");

shell.pack();
shell.open();
while(!shell.isDisposed()){
if(!display.readAndDispatch())
display.sleep();
}
display.dispose();
}

/**
* GridLayout 是一个网络格式布局,把父组件分成一个表格,
* 子组件占据一个单元的空间,每个组件按添加到父组件的顺序排列在表格中
* 常用属性:
* horizontalSpacing:子组件的行间距
* verticalSpacing:列间距
* numColumns:多少列 默认是1列
* makeColumnsEqualWidth:设置父组件中子组件的宽度是否相同
*/
public static void createGrid(){
shell.setText("Grid Layout");

//设置为2列,并设置父组件中子组件的宽度相同
GridLayout grid = new GridLayout(2, true);
grid.marginTop = 20;
grid.marginLeft = 20;
grid.horizontalSpacing = 10;
grid.verticalSpacing = 10;
shell.setLayout(grid);

Label label = new Label(shell, SWT.NONE);
GridData data1 = new GridData(GridData.FILL_HORIZONTAL);
data1.horizontalSpan = 2;//跨2列
label.setLayoutData(data1);
label.setText("这是一条的数据");

Button but = new Button(shell, SWT.NONE);
GridData data2= new GridData(GridData.FILL_HORIZONTAL);
data2.verticalSpan = 2;//跨2行
but.setLayoutData(data2);
but.setText("这是一个普通按钮");

Button but1 = new Button(shell, SWT.CHECK);
but1.setText("这是一个多选按钮");

Button but2 = new Button(shell, SWT.RADIO);
but2.setText("这是一个单选按钮");

shell.pack();
shell.open();
while(!shell.isDisposed()){
if(!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值