如何為SWT Table新增列 Column 選單

2021-04-22 04:42:10 字數 1026 閱讀 8871

為乙個table新增選單後,當右擊該table的某一行,即可彈出定義好的選單,這個不難做到。今天碰到一需求:需要針對table的某一列(column)的單元格新增右鍵選單,也即:只有在右鍵單擊某一列的單元格時,才在被選中的單元格上顯示出該右鍵選單。為實現這一需求,我們需要使用org.eclipse.swt.custom包中的tablecursor類,示例**如下:

public

static

void main(string args) 

table.setheadervisible(true);

for (int i = 0; i < 10; i++) );

}final tablecursor cursor = new tablecursor(table, swt.none);

cursor.setbackground(table.getdisplay().getsystemcolor(swt.color_list_selection));

cursor.setforeground(table.getdisplay().getsystemcolor(swt.color_list_selection_text));

cursor.setlayout(new filllayout());

final menu menu = new menu(table);

menuitem item = new menuitem(menu, swt.push);

item.settext("hello menu");

cursor.addselectionlistener(new selectionadapter()  else 

}});

shell.open();

while (!shell.isdisposed()) 

display.dispose();}

執行效果如下,只有選中第二列的單元格時,才會有右鍵選單彈出:

如何為控制項新增陰影效果

資料 於codeproject,實現的效果是這樣的 呼叫 crect rcedit2 m edit2.getwindowrect rcedit2 screentoclient rcedit2 rcedit2.inflaterect 2,2,0,0 shadow.paint dcpaint,rcedi...

如何為控制項新增陰影效果

資料 於codeproject,實現的效果是這樣的 呼叫 crect rcedit2 m edit2.getwindowrect rcedit2 screentoclient rcedit2 rcedit2.inflaterect 2,2,0,0 shadow.paint dcpaint,rcedi...

JS如何為iframe新增onclick事件

如果頁面上有iframe時,滑鼠點選在iframe內時,包含iframe的document是不響應任何事件的,例如 iframe1 click function 或者 function clickhandler function clickhandler event 均行不通。所以需要給iframe...