马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java到底会发战成什么样,让我们拭目以待吧,我始终坚信着java会更好。以上都是俺个人看法,欢迎大家一起交流.计划 3、定制结构
EclipseForm供应了2个新的结构
(1)TableWrapLayout
・成绩:假如将上例中超链接的文本设置的充足长
link.setText("Thisisanexampleofaformthatismuchlongerandwillneedtowrap.");
即便设置了SWT.WRAP,文本内容不会主动WRAP,这是由于体内容的结构是GridLayout
・EclipseForm供应替换的结构TableWrapLayout:相似于GridLayout,可是具有象HTML表格一样主动WRAP功效
・上面是办理超链接文本主动WRAP的例子:
publicvoidcreatePartControl(Compositeparent){
toolkit=newFormToolkit(parent.getDisplay());
form=toolkit.createScrolledForm(parent);
form.setText("Hello,EclipseForms");
Compositebody=form.getBody();
TableWrapLayoutlayout=newTableWrapLayout();
body.setLayout(layout);
Hyperlinklink=toolkit.createHyperlink(body,"Clickhere.",SWT.WRAP);
link.addHyperlinkListener(newHyperlinkAdapter(){
publicvoidlinkActivated(HyperlinkEvente){
System.out.println("Linkactivated!");
}
});
layout.numColumns=2;
link.setText("Thisisanexampleofaformthatismuchlongerandwillneedtowrap.");
TableWrapDatatd=newTableWrapData();
td.colspan=2;
link.setLayoutData(td);
Labellabel=toolkit.createLabel(body,"Textfieldlabel:");
Texttext=toolkit.createText(body,"");
td=newTableWrapData(TableWrapData.FILL_GRAB);
text.setLayoutData(td);
text.setData(FormToolkit.KEY_DRAW_BORDER,FormToolkit.TEXT_BORDER);
Buttonbutton=toolkit.createButton(body,"Anexampleofacheckboxinaform",SWT.CHECK);
td=newTableWrapData();
td.colspan=2;
button.setLayoutData(td);
toolkit.paintBordersFor(body);
}
・上面是程序变更的中央:
1)TableWrapLayout替换GridLayout
2)利用TableWrapData来供应结构数据信息
3)设置的属性利用colspan、rowspan等来历于HTML表格单位的属性
・要注重的是:必要主动WRAP的控件,必要设置成SWT.WRAP作风
(2)ColumnLayout
・ColumnLayout是EclipseForm供应的另外一个定制结构
・ColumnLayout的结构体例是从上到下,从左到右
・在变更Form的宽度时,会主动调剂控件列数以顺应Form的宽度
・ColumnLayout的设置很复杂,一般只需设置列数的局限(缺省是1-3)
・在前面的相干部分会给出利用的例子
自己的整个学习思路完全被老师的讲课思路所牵制,这样几节课听下来,恐怕自己的见解都应该是书里的知识点了,根本谈不上自身发现问题,分析问题,和解决问题能力的切实提高。 |