程式碼如下:
Display display = new Display();
Shell shell = new Shell(display);
public ViewFormExample() {
shell.setLayout(new FillLayout());
final ViewForm viewForm = new ViewForm(shell, SWT.BORDER);
Label label = new Label(viewForm, SWT.NULL);
label.setText("Top center");
viewForm.setTopCenter(label);
shell.setSize(400, 200);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
display.dispose();
}
public static void main(String[] args) {
new ViewFormExample();
}
}
在上一步創建好ActionGroup中的Action後,接下來就是要在介面中加上工具列。先要將佈局用ViewForm類別來調整一下,ViewForm也是繼承自Composite的一個容器。原先表格是建立在Shell之上的,現在要在Shell上再插入一個ViewForm容器,以它為基座將工具列和表格創建於其中,如圖14.9所示。
將原主程式中的open()方法修改如下,其他程式碼不變:
shell.setLayout(new FillLayout());ViewForm viewForm = new ViewForm(shell, SWT.NONE); //佈局基座ViewFormviewForm.setLayout(new FillLayout());final TableViewer tv = new TableViewer(viewForm, SW… / /父容器由shell改為viewForm//…和上一節相同的程式碼(省略)//建立工具列ToolBar toolBar = new ToolBar(viewForm, SWT.FLAT); // 建立一個ToolBar容器ToolBarManager toolBarManager = new ToolBarManager(toolBar); // 建立一個toolBar的管理器actionGroup.fillActionToolBars(toolBarManager); //將Action透過toolBarManager注入ToolBar中// 設定表格和工具列在佈局中的位置viewForm.setContent(tv.getControl() ); // 主體:表格viewForm.setTopLeft(toolBar); // 頂端邊緣:工具列shell.open(); |
498)this.style.width=498;" border=0> |
圖14.9 佈局示意圖 |