SWT中各种参数大全
1按鈕組件(Button)
(1)Button組件常用樣式
SWT.PUSH按鈕
SWT.CHECK多選按鈕
SWT.RADIO單選按鈕
SWT.ARROW箭頭按鈕
SWT.NONE默認(rèn)按鈕
SWT.CENTER文字居中與SWT.NONE
SWT.LEFT左對齊
SWT.RIGHT右對齊
SWT.BORDER深陷型按鈕
SWT.FLAT平面型按鈕
一個(gè)Button可以指定多個(gè)樣式,只要將指定的各個(gè)樣式用符號“|”連接起來即可
Buttonbt=newButton(shell,SWT.CHECK|SWT.BORDER|SWT.LEFT);
多選、深陷、左對齊
(2)Button組件的常用方法
setText(Stringstring),設(shè)置組件的標(biāo)簽文字
setBounds(intx,inty,intwidth,intheight);//設(shè)置組件的坐標(biāo)位置和大小
setEnabled(Booleanenabled);設(shè)置組件是否可用,默認(rèn)為true
setFont(Fontfont);設(shè)置文字的字體
setForeground(Colorcolor);設(shè)置前景色
setBackground(Colorcolor);設(shè)置背景色
setImage(Imageimage);設(shè)置顯示用的圖片
setSelection(Booleanselected);設(shè)置是否選中,默認(rèn)為false
setToolTipText(Stringstring);設(shè)置鼠標(biāo)停留在組件上是顯示的提示信息
2標(biāo)簽組件(Label)
(1)Label常見式樣
SWT.CENTER居中
SWT.RIGHT右對齊
SWT.LEFT左對齊
SWT.NONE默認(rèn)樣式
SWT.WRAP自動換行
SWT.BORDER深陷型
SWT.SEPARATOR分欄符,默認(rèn)為豎線分欄符
HORIZONTAL橫線分欄符
3文本框組件(Text)
(1)Text常見式樣
SWT.NONE默認(rèn)式樣
SWT.CENTER
SWT.RIGHT
SWT.LEFT
SWT.MULTI可以輸入多行,需回車換行
SWT.WRAP可以輸入多行,自動換行
SWT.PASSWORD密碼型,輸入字符顯示成“*”
SWT.BORDER深陷型
SWT.V_SCROLL垂直滾動條
SWT.H_SCROLL水平滾動條
4下拉框組件(Combo)
(1)Combo常見樣式
SWT.NONE默認(rèn)
SWT.READ_ONLY只讀
SWT.SIMPLE無需單擊下拉框,列表會一直顯示
(2)Combo下拉框常用方法
add(Stringstring)在Combo上添加一項(xiàng)
add(Stringstring,intindex)在Combo的第index(從0開始)項(xiàng)后插入一項(xiàng)
deselectAll()使Combo組件中的當(dāng)前選項(xiàng)為空
removeAll()將Combo中的所有選項(xiàng)清空
setItems(String[]items)將數(shù)組中的各項(xiàng)依次加入到Combo中
select(intindex)將Combo的第index+1項(xiàng)設(shè)置為當(dāng)前選擇項(xiàng)
5列表框組件(List)
(1)List常見樣式
SWT.NONE默認(rèn)樣式
SWT.V_SCROLL帶垂直滾動條
SWT.MULTI允許復(fù)選
SWT.SINGLE允許單選
(2)常用方法
List和Combo組件的方法是一樣的,但由于List可選擇多項(xiàng),而Combo只能選擇一項(xiàng)
,所以List沒有g(shù)etText()方法,List的取值使用getSelection(),返回一個(gè)String
數(shù)組。
6菜單(Menu,MenuItem)
菜單(Menu、MenuItem)是常用的SWT組件,Menu是一個(gè)菜單欄,同時(shí)也是一個(gè)容器
,可以容納菜單項(xiàng)(MenuItem)
(1)Menu樣式
SWT.BAR菜單欄,用于主菜單
SWT.DROP_DOWN下拉菜單,用于子菜單
SWT.POP_UP鼠標(biāo)右鍵彈出菜單
(2)MenuItem式樣
SWT.CASCADE有子菜單的菜單項(xiàng)
SWT.CHECK選中后前面顯示一個(gè)小勾
SWT.PUSH普通型菜單
SWT.RADIO選中后前面顯示一個(gè)圓點(diǎn)
SWT.SEPARATOR分隔符
(3)建立菜單一般步驟
①首先建立一個(gè)菜單欄,需要用到SWT.BAR屬性
MenumainMunu=newMenu(shell,SWT.BAR);
②在窗體中指定需要顯示的菜單欄
shell.setMenuBar(mainMenu);
③創(chuàng)建頂級菜單項(xiàng),需要使用SWT.CASCADE屬性
MenuItemfileItem=newMenuItem(mainMenu,SWT.CASCADE);
fileItem.setText("file&F");
④創(chuàng)建與頂級菜單項(xiàng)相關(guān)的下拉式菜單
MenufileMenu=newMenu(shell,SWT.DROP_DOWN);
⑤將頂級菜單項(xiàng)與下拉菜單關(guān)聯(lián)
fileItem.setMenu(fileMenu);
二級菜單的建立只需要重復(fù)③~⑤即可
容器類
1面板(Composite)
(1)Composite常用方法
getLayout()獲得布局管理器
getLayoutData()得到布局?jǐn)?shù)據(jù)
getParent()得到容納該容器的父容器
getShell()得到容納該容器的Shell
layout()將容器上的組件重新布局,相當(dāng)于刷新
2分組框(Group)
Group是Composite的子類,所以兩者用法基本相同。主要區(qū)別是Group顯示有一個(gè)方框,且方
框線上還可以顯示說明文字
3選項(xiàng)卡(TabFolder、TabItem)
選項(xiàng)卡包括一個(gè)選項(xiàng)卡(TabFolder類)和一個(gè)選項(xiàng)頁(TabItem類),TabFolder是容器,可
以容納其它容器和組件,但TabItem不是容器,可以把它看成是一個(gè)選項(xiàng)標(biāo)簽,TabFolder通過
TabItem來對其中的組件進(jìn)行控制。每一個(gè)TabItem用setControl()來控制一個(gè)界面組件。
布局管理器
1充滿式布局(FillLayout)
FillLayout是最簡單的布局管理器,它把組件按一行或一列充滿整個(gè)容器,并強(qiáng)制組件的大小一致。
一般組件高度和最高組件相同,寬度與最寬組件相同。FillLayout不能折行,不能設(shè)置邊界距離和間距。
如果容器中只有一個(gè)組件,則該組件會充滿整個(gè)容器。
(1)構(gòu)造方法
FillLayout()創(chuàng)建按一行充滿容器的對象。
FillLayout(inttype)創(chuàng)建按指定類型充滿容器的對象,type有:SWT.HORIZONTAL(行)
SWT.VERTICAL(列)
(2)常用屬性
inttype指定組件充滿容器的類型
FillLayout.type=SWT.VERTICAL或SWT.HORIZONTAL;
2行式布局(RowLayout)
RowLayout可以是組件折行顯示,可以設(shè)置邊界距離和間距。另外,還可以對每個(gè)組件通過setLayoutData()
方法設(shè)置RowData對象。RowData用來設(shè)置組件大小。
(1)構(gòu)造方法
RowLayout()創(chuàng)建按行放置組件的對象
RowLayout(inttype)創(chuàng)建按指定類型放置組件的對象。type:SWT.HORIZONTALSWT.VERTICAL
(2)常用屬性
intmarginWidth組件距容器邊緣的寬度(像素),默認(rèn)為0
intmarginHeight組件距容器邊緣的高度(像素),默認(rèn)為0
intmarginTop組件距容器上邊緣的距離(像素),默認(rèn)為3
intmarginBottom組件距容器下邊緣的距離(像素),默認(rèn)為3
intspacing組件之間的距離,默認(rèn)值為3
booleanjustify如果該屬性為true,則組件間的距離隨容器的拉伸而變大,默認(rèn)值為false
booleanwrap如果該屬性為true,當(dāng)空間不足時(shí)會自動折行,默認(rèn)為true
booleanpack如果該屬性為true,組件大小為設(shè)定值;如果為false,則強(qiáng)制組件大小相同
默認(rèn)為true
inttyepSWT.HORIZONTAL(行)SWT.VERTICAL(列)
(2)RowData類
RowData稱為RowLayout的布局?jǐn)?shù)據(jù)類,可用于改變?nèi)萜髦薪M件外觀形狀,其構(gòu)造方法為
RowData(intwidth,intheight)
3網(wǎng)格式布局(GridLayout)
GridLayout是實(shí)用而且功能強(qiáng)大的標(biāo)準(zhǔn)布局,也是較為復(fù)雜的一種布局。這種布局把容器分成網(wǎng)格
,把組件放置在網(wǎng)格中。GridLayout有很多可配置屬性,和RowLayout一樣,也有專用的布局?jǐn)?shù)據(jù)類
GridData.GridLayout的構(gòu)造方法無參數(shù),但可以通過GridData和設(shè)置GridLayout屬性來設(shè)置組建的排列、
形狀、和位置。
(1)GridLayout屬性
intnumColumn設(shè)置容器的列數(shù),組件從左到右按列放置,當(dāng)組件數(shù)大于列數(shù)時(shí),下一個(gè)組件
將自動添加到新的一行
booleanmakeColumnsEqualWidth強(qiáng)制使列都具有相同的寬度,默認(rèn)為false
intmarginWidth設(shè)置組件與容器邊緣的水平距離,默認(rèn)值為5
intmarginHeight設(shè)置組件與容器邊緣的垂直高度,默認(rèn)值為5
inthorizontalSpacing設(shè)置列與列之間的間距,默認(rèn)為5
intverticalSpacing設(shè)置行與行之間的間隔,默認(rèn)為5
(2)布局?jǐn)?shù)據(jù)類(GridData類)
GridData是GridLayout專用的布局?jǐn)?shù)據(jù)類,用GridData可以構(gòu)建很多復(fù)雜的布局方式。
①構(gòu)造方法
GridData()創(chuàng)建一個(gè)屬性值為默認(rèn)值的對象
GridData(inttype)
②GridData常用類型
GridData.FILL通常與對象屬性horizontalAlignment和verticalAlignment配合使用,充滿對象
屬性指定空間。
GridData.FILL_HORIZONTAL水平充滿,
GridData.FILL_VERTICAL垂直充滿
GridData.FILL_BOTH雙向充滿
GridData.HORIZONTAL_ALIGN_BEGINNING水平靠在對齊
GridData.HORIZONTAL_ALIGN_END水平靠右對齊
GridData.HORIZONTAL_ALIGN_CENTER水平居中對齊
③GridData常有對象屬性如下:
inthorizontalSpan設(shè)置組件占用的列數(shù),默認(rèn)為1
intverticalSpan設(shè)置組件占用的行數(shù),默認(rèn)為1
horizontalAlignment設(shè)置組件對齊方式為水平方向
verticalAlignment設(shè)置組件對齊方式為垂直方向
grabExcessHorizontalSpace搶占額外水平空間
grabExcessVerticalSpace搶占額外垂直空間
horizontalAlignment和verticalAlignment可以取以下值:
GEGINNING開始(水平對齊時(shí)居左,垂直對齊時(shí)居上)
CENTER居中,默認(rèn)
END結(jié)束(水平對齊時(shí)居右,垂直對齊時(shí)居下)
FILL充滿
4表格式布局(FormLayout)
FormLayout是一種非常靈活、精確的布局方式,F(xiàn)ormData使其專用的布局?jǐn)?shù)據(jù)類。
此外,還增加了一個(gè)FormAttachment類。FormAttachment定義了組件的四邊與父容器
(Shell、Composite)的邊距,為保證組件在父容器中的相對位置不變,F(xiàn)ormAttachment
類用不同的構(gòu)造方法來實(shí)現(xiàn)組件的定位,用FormData和FormAttachment配合,可以創(chuàng)建復(fù)雜
的界面,而且當(dāng)主窗體大小改變時(shí),組件的相對位置能保持相對不變。
(1)FormLayout構(gòu)造函數(shù)
FormLayout();
(2)FormLayout的屬性
intmarginWidth//設(shè)置組件與容器邊緣的水平距離,默認(rèn)值為0
intmarginHeihgt//設(shè)置組件與容器邊緣的垂直距離,默認(rèn)為0
(3)FormData類
①FormData的構(gòu)造方法
FormData()
FormData(intwidth,intheight)設(shè)置組件的寬度和高度
②FormData的屬性
width設(shè)置組件的寬度
height設(shè)置組件的高度
top和FormAttachment配合設(shè)置組件底部和父容器底部的邊距
left和FormAttachment配合設(shè)置組件右邊和父容器右邊的邊框
如果FormData中的width和height設(shè)置的寬度和高度與FormAttachment設(shè)置的約束
發(fā)生沖突,則按照FormAttachment設(shè)置,width和height的設(shè)定值就不起作用了。
(3)FormAttachment類
Attachment的含義是附著、粘貼。FormAttachment類就是用來指定組件在父容器中粘貼的
位置。FormAttachment計(jì)算組件粘貼位置和組件大小的方法是依據(jù)下面的表達(dá)式:
y=ax+b
①FormatAttachment構(gòu)造方法
FormatAttachment()組件緊貼父容器的左邊緣和上邊緣,如果父容器設(shè)置了FormLayout屬
性marginWidth、marginHeight,則距父容器的上邊緣和左邊緣為其值。
FormatAttachment(Controlcontrol)以指定組件control為參照物
FormatAttachment(Controlcontrol,intoffset)以指定組件control為參照物,相對指定
組件偏移量為offset
FormatAttachment(Controlcontrol,intoffset,intalignment)對齊方式為alignment
SWT.TOPSWT.BOTTOMSWT.LEFTSWT.RIGHTSWT.CENTER
FormAttachment(intm,intn,intoffset)以組件相對與父容器寬度或高度的百分比(即斜率a)來給
組件定位,m為a的分子,n為分母,offset為偏移量
FormAttachment(intm,intoffer)n默認(rèn)為100
FormAttachment(intm)n默認(rèn)為100,offset默認(rèn)為0
SWT的常用事件
所有事件、監(jiān)聽器和適配器都放在包org.eclipse.swt.events中。
(1)SWT中常用事件如下:
①addMouseListener鼠標(biāo)監(jiān)聽器
mouseDown()
mouseUP()
mouseDoubleClick()
②addKeyListener按鍵監(jiān)聽器
keyPressed()
keyReleased()
③addSelectionListener組件選擇監(jiān)聽器
widgetSelected()
④addFocusListener焦點(diǎn)監(jiān)聽器
focusGained()得到焦點(diǎn)
focusLost()失去焦點(diǎn)
總結(jié)
以上是生活随笔為你收集整理的SWT中各种参数大全的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AOP
- 下一篇: 怎么创建具有真实纹理的CG场景岩石?