SWT裡的Menu程式設計

2021-03-31 18:08:25 字數 1844 閱讀 5284

新建乙個menu bar要以下面的格式開頭:

menu menu = new menu(shell, swt.bar);

//注意menu的第乙個引數一般是shell!

//style必須是swt.bar

shell.setmenubar(menu);

下面加乙個item到menu bar:

menuitem file = new menuitem(menu, swt.cascade);

//style必須是swt.cascade,否則就不能跟file加drop-down menu

file.settext("file");

現在給file加個menu:

menu filemenu = new menu(shell, swt.drop_down);

//style必須是swt.drop_down

file.setmenu(filemenu);

最後,可以在filemenu上加menuitem:

menuitem actionitem = new menuitem(filemenu, swt.push);

actionitem.settext("action");

這樣就在file menu上建立乙個最簡單的可以選擇的menu item.

如果要加listener,這樣:

actionitem.addlistener(swt.selection, new listener()

});/

新建乙個menuitem的語句如下:

menuitem actionitem = new menuitem(filemenu, swt.push);

我們一般會建立swt.push的menuitem,對於style還有其它的選擇:

check,radio,separator和cascade.

swt.check和swt.radio的用法和swt.push差不多

對於swt.cascade,能用它在menuitem上在加上多個menuitem.

menuitem cascadeitem = new menuitem(filemenu, swt.cascade);

cascadeitem.settext("cascade");

menu submenu = new menu(shell, swt.drop_down);

cascadeitem.se

tmenu(submenu);

接著就可以在它上面加menuitem:

final menuitem subactionitem = new menuitem(submenu, swt.push);

subactionitem.settext("&subaction/tctrl+s");

//s前有個&符號,這是簡化的設定快捷鍵的方法

subactionitem.setaccelerator(swt.ctrl+'s');

//設定鍵盤控制.

有許多***,注意它們各自的用法:

menulistener:

作用物件就是menu(注意不同於menuitem).

可以偵察到menu是開啟了或者關閉了.

menulistener()

public void menuhidden(menuevent e)

}armlistener:

當乙個menuitem被滑鼠或鍵盤移動到它但並沒有選擇的時候,

產生armevent事件

armlistener()

}helplistener:

如果按f1/help鍵,helplistener被激發.

helplistener()

}

Menu新增方法裡的引數

網上menu 的介紹就多了 但都有個add方法 但引數就沒怎麼介紹過 menu.add groupid,itemid,order,title groupld 這個選單的組別 itemid 是用來獲取這個指定選單項的 所謂order就是這個組別的第幾項,0為第一項 title 不用說都知道是顯示的標題...

SWT裡Slider和Scale的區別

以前以為slider和scale之間只是外觀的區別,今天發現不是這樣的,因為slider有乙個特點 getselection 能得到的最 大值並不是getmaximum 的值,要減去getthumb 值,後者是中間的滑塊所擁有的值,預設為10,最小為1。執行這個程式觀察控制台的 輸出。import ...

關於SWT中非SWT執行緒的應用

剛開始學習 的時候,就被 中的執行緒打敗了,搞的我是從此以後就沒有用過 在做 桌面應用程式開發的時候,一直用的 雖然說初始的介面醜陋了一些,但是經過優化以後,還是蠻漂亮的。不過 的應用一直是我的一塊心病。難道 就真的不能在非 的執行緒中呼叫?不可能這麼弱吧。不過後來確實一直沒有時間研究了。今天稍微空...