SWT(JFace)體驗之ViewForm的使用
代碼如下:
package swt_jface.demo9;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ViewForm;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;
public class ViewFormExample {
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();
}
}
用ViewForm做布局調(diào)整
在上一步創(chuàng)建好ActionGroup中的Action后,接下來就是要在界面中加上工具欄。先要將布局用ViewForm類來調(diào)整一下,ViewForm也是繼承自Composite的一個容器。原先表格是建立在Shell之上的,現(xiàn)在要在Shell上再插入一個ViewForm容器,以它為基座將工具欄和表格創(chuàng)建于其中,如圖14.9所示。
將原主程序中的open()方法修改如下,其他代碼不變:
shell.setLayout(new FillLayout()); ViewForm viewForm = new ViewForm(shell, SWT.NONE); //布局基座ViewForm viewForm.setLayout(new FillLayout()); final TableViewer tv = new TableViewer(viewForm, SW… //父容器由shell改為viewForm //……和上一節(jié)相同的代碼(省略) //創(chuàng)建工具欄 ToolBar toolBar = new ToolBar(viewForm, SWT.FLAT); // 創(chuàng)建一個ToolBar容器 ToolBarManager toolBarManager = new ToolBarManager(toolBar); // 創(chuàng)建一個toolBar的管理器 actionGroup.fillActionToolBars(toolBarManager); //將Action通過toolBarManager注入ToolBar中 // 設(shè)置表格和工具欄在布局中的位置 viewForm.setContent(tv.getControl()); // 主體:表格 viewForm.setTopLeft(toolBar); // 頂端邊緣:工具欄 shell.open(); |
498)this.style.width=498;" border=0> |
圖14.9 布局示意圖 |
您可能感興趣的文章
- 01-10SWT(JFace)體驗之FormLayout布局
- 01-10SWT(JFace)體驗之RowLayout布局
- 01-10SWT JFace Bookmark 制作
- 01-10SWT(JFace)小制作 BugTracker
- 01-10SWT(JFace)體驗之StyledText類
- 01-10SWT(JFace)體驗之GridLayout布局
- 01-10SWT JFace 拖曳效果
- 01-10SWT(JFace)體驗之ApplicationWindow
- 01-10SWT(JFace)體驗之復(fù)制粘貼
- 01-10SWT(JFace)體驗之打開多個Form


閱讀排行
本欄相關(guān)
- 01-10Java咖啡館(1)——嘆咖啡
- 01-10JVM的垃圾回收機制詳解和調(diào)優(yōu)
- 01-10Java Socket編程(三) 服務(wù)器Sockets
- 01-10Java進階:Struts多模塊的技巧
- 01-10J2SE 1.5版本的新特性一覽
- 01-10Java Socket編程(一) Socket傳輸模式
- 01-10Java運行時多態(tài)性的實現(xiàn)
- 01-10Java Socket編程(二) Java面向連接的類
- 01-10Java Socket編程(四) 重復(fù)和并發(fā)服務(wù)
- 01-10Java經(jīng)驗點滴:處理沒有被捕獲的異常
隨機閱讀
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 04-02jquery與jsp,用jquery
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10delphi制作wav文件的方法
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-10C#中split用法實例總結(jié)
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-11ajax實現(xiàn)頁面的局部加載