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