button常用的方法:setimage();settext();setbounds();addselectionlistener();
swt.radio(單選框),swt.check(核取方塊),swt.none(普通按鈕),swt.push(自動彈回),swt.toggle(不能自動彈回)。
label:若指定為swt.seperator則顯示為乙個分隔線,組合swt.horizonal或swt.vertical則可以顯示水平或垂直線。
text:在文字框輸入回車時,觸發defaultselection事件,用widgetdefaultselection方法監聽;編輯text時會觸發verify事件,可以通過這個事件判斷所做的修改是否可以接收,若不可以接受,可以設定 verifyevent.doit為false,只要有某乙個verifylistener將其設定為false,這次的修改動作不會成功,text的內容不會被改變。若所有的verifylisteners都沒有改變其值則觸發乙個modify事件。下面的**能保證文字框只能輸入數字。
final text newtext =new text(shell,swt.border);
newtext.addverifylistener(new verifylistener() catch (exception e)
}
});list: 選中list的一項觸發slection事件,雙擊除了觸發selection事件還會觸發defaultselection事件
combo:選中項時觸發selection事件和modify事件,若直接編輯組合框內容,只會觸發modify事件。modify事件中只包含了哪個控制項被修改而不包含修改的具體內容,通過modifyevent.widget或modifyevent.getsource獲得傳送事件的控制項。
*******/toolltem: *******代表工具條,在其上新增toolitem。使用swt.horizonal或swt.vertical控制按鈕的排列方向,預設工具上顯示在文字的上方,對*******設定right可以讓文字顯示在右側;toolitem僅支援selecton事件。通過toolitem.setcontrol可以將其它控制項(text,combo等放在工具欄上);
menu/menuitem:乙個窗體只支援乙個選單,用shell.setmenubar()設定選單。
menu bar=new menu(shell,swt.bar);
shell.setmenubar(bar);
menuitem item=new menuitem(bar,swt.none);//新增選單項
...menu filemenu=new menu(item);//新增選單
item.setmenu(filemenu)
...反覆實現多級選單
樣式有cascad、pusgh、check、radio、seperator樣式
響應selection和arm、help事件
乙個下拉列表由乙個使用了cascade的選單項和menu例項組成
SWT控制項
繼承關係,widget為所有視窗元件的父類,control為所有控制項的父類,composite為容器控制項 widget item control control scrollble button label scrollble composite text composite tree tabl...
隱藏SWT控制項
隱藏swt控制項 有時候需要根據使用者的輸入隱藏某些控制項,呼叫control.setvisible false 並不能夠消除控制項占用的空間。解決的方法如下 控制項的parent使用gridlayout,控制項使用griddata griddata control.getlayoutdata ex...
SWT的標籤控制項
文字標籤 label label1 new label shell,swt.none label1.settext 這是文字標籤 分割線標籤 label label2 new label shell,swt.separator swt.vertical swt.shadow etched out 分...