Composite由BORDER变为NONE时要删除setSize函数

来源:互联网 发布:冰点文库下载器 mac版 编辑:程序博客网 时间:2024/06/06 06:46
foldC = new Composite(controlC, SWT.BORDER);GridLayout foldLayout = new GridLayout();foldLayout.makeColumnsEqualWidth = true;foldLayout.numColumns=2;foldLayout.marginWidth=0;foldLayout.marginHeight=0;GridData composite2LData = new GridData();composite2LData.widthHint = 696;composite2LData.heightHint = 52;foldC.setLayoutData(composite2LData);foldC.setLayout(foldLayout);foldC.setSize(696, 52);{button3 = new Button(foldC, SWT.PUSH | SWT.CENTER);GridData button3LData = new GridData();button3LData.widthHint = 500;button3LData.heightHint = 25;button3.setLayoutData(button3LData);button3.setText("button3");button3.setSize(500, 25);}{btnConvert = new Button(foldC, SWT.PUSH | SWT.CENTER);GridData button5LData = new GridData();button5LData.widthHint = 57;button5LData.heightHint = 60;btnConvert.setLayoutData(button5LData);btnConvert.setText("转换");btnConvert.setSize(57, 60);}

但是当把foldC的属性从BORDER改为NONE时,变为

这代表着foldLayout.numColumns=2;无效了,罪魁祸首在于foldC.setSize(696, 52);,只要把这句干掉就回复正常了。

具体原因不明

0 0
原创粉丝点击