实战SWT之FormLayout分割窗口菜单状态栏_第1页
实战SWT之FormLayout分割窗口菜单状态栏_第2页
实战SWT之FormLayout分割窗口菜单状态栏_第3页
实战SWT之FormLayout分割窗口菜单状态栏_第4页
实战SWT之FormLayout分割窗口菜单状态栏_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实战SWT之FormLayout/分割窗口/菜单/状态栏(2006-11-03 08:51:37) 转载  分类:IT技术为了编写桌面应用程序,因为用JAVA来写,SWT是一个非常好的工具包,近来有使用了一个很好的布局FormLayout,它是用控件的四个顶点的位置来定位一个控件及它的大小的。下面的抓图是我布局好的一个符合窗口,大家一定见惯了这样的窗口。窗口最上方的是菜单Menu,没有写子菜单;中间部分是一个分割窗口SashForm,分割窗口的左边是一棵树Tree,右边是一个标签页TabFolder;最下面的是一个状态栏CoolBar。窗口的布局与界面显示完全是WINDOWS的风格,

2、不需要自己动手写代码来实现复杂的界面布局。下面是源代码。package test.base;import org.eclipse.swt.layout.FormAttachment;import org.eclipse.swt.layout.FormData;import org.eclipse.swt.graphics.Color;import org.eclipse.swt.graphics.Point;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.TabFolder;import org.eclip

3、se.swt.SWT;import org.eclipse.swt.layout.FormLayout;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Label;import org.eclipse.swt.widgets.TabItem;import org.eclipse.swt.widgets.Menu;import org.eclipse.swt.widgets.MenuItem;import org.eclipse.swt.widgets.CoolBar;import org.eclipse

4、.swt.widgets.TreeItem;import org.eclipse.swt.custom.SashForm;import org.eclipse.swt.widgets.Tree;public class TestView private Shell sShell = null; / jve:decl-index=0:visual-constraint="10,10"private Menu menuBar = null;private CoolBar coolBar = null;private SashForm sashForm = null;privat

5、e TabFolder tabFolder = null;private Tree tree = null;private void createSShell() sShell = new Shell();sShell.setText("Shell");createCoolBar();createSashForm();sShell.setSize(new Point(300, 200);sShell.setLayout(new FormLayout();menuBar = new Menu(sShell, SWT.BAR);createMenuBar();sShell.se

6、tMenuBar(menuBar);private void createMenuBar() MenuItem push = new MenuItem(menuBar, SWT.PUSH);push.setText("文件");MenuItem push1 = new MenuItem(menuBar, SWT.PUSH);push1.setText("编辑");MenuItem push2 = new MenuItem(menuBar, SWT.PUSH);push2.setText("窗口");MenuItem push3 = n

7、ew MenuItem(menuBar, SWT.PUSH);push3.setText("帮助");private void createCoolBar() coolBar = new CoolBar(sShell, SWT.NONE);FormData formData = new FormData();formData.left = new FormAttachment(00, 0);formData.right = new FormAttachment(100, -0);formData.top = new FormAttachment(100, -24);form

8、Data.bottom = new FormAttachment(100, 0);coolBar.setLayoutData(formData);Color color = new Color(Display.getCurrent(), 0,0,0);coolBar.setBackground(color);private void createSashForm() sashForm = new SashForm(sShell, SWT.NONE);FormData formData = new FormData();formData.left = new FormAttachment(0,

9、3);formData.right = new FormAttachment(100, -3);formData.top = new FormAttachment(0, 0);formData.bottom = new FormAttachment(100, -25);sashForm.setLayoutData(formData);tree = new Tree(sashForm, SWT.NONE);createTree();createTabFolder();sashForm.setWeights(new int 1, 3);private void createTree() TreeI

10、tem treeItem = new TreeItem(tree, SWT.NONE);treeItem.setText("根结点");private void createTabFolder() tabFolder = new TabFolder(sashForm, SWT.NONE);TabItem tabItem = new TabItem(tabFolder, SWT.NONE);tabItem.setText("属性标签");Label label = new Label(tabFolder, SWT.NONE);label.setText(&

11、quot;文字标签");tabItem.setControl(label);formData.left = new FormAttachment(0, 3);第一个参数0表示父控件宽度的0%,第二个参数3表示离左边的距离为3pix。这样一来左边位置就是(width*0%+3)。formData.right = new FormAttachment(100, -3);第一个参数100表示父宽度的100%,第二个参数-3表示离左边的距离为-3pix。这样一来右边位置就是(width*100%-3)。formData.top = new FormAttachment(0, 0);第一个参数0表示父控件高度的0%,第二个参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论