快速业务通道

Eclipse开发经典教程之展现组件 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
menu.setLocation (point); menu.setVisible(true); } } }); //设置工具项的事 件监听器 Listener selectionListener = new Listener() { public void handleEvent(Event event) { ToolItem item = (ToolItem) event.widget; System.out.println(item.getText() + " is selected"); if ((item.getStyle() & SWT.RADIO) != 0 || (item.getStyle() & SWT.CHECK) != 0) System.out.println("Selection status: " + item.getSelection()); } }; itemPush.addListener(SWT.Selection, selectionListener); itemCheck.addListener(SWT.Selection, selectionListener); itemRadio1.addListener(SWT.Selection, selectionListener); itemRadio2.addListener(SWT.Selection, selectionListener); itemDropDown.addListener(SWT.Selection, selectionListener); toolBar.pack(); shell.addListener(SWT.Resize, new Listener() { public void handleEvent(Event event) { Rectangle clientArea = shell.getClientArea(); toolBar.setSize(toolBar.computeSize (clientArea.width, SWT.DEFAULT)); } }); shell.setSize(400, 100); shell.open(); while (!shell.isDisposed()) { if (! display.readAndDispatch()) { display.sleep(); } } display.dispose(); } public static void main(String[] args) { new ToolBarExample(); } }

Eclipse开发经典教程之展现组件(3)

时间:2011-04-11 阿甘

程序添加了工具栏,并在工具栏中添加 了相应的工具项,工具项中添加了相应的事件响应机制,程序运行效果如图2所示。

Eclipse开发经典教程之展现组件 - 编程入门网

图2 工具栏组件

本示例显示了工具栏和菜单栏的配合使用,菜单动态设定显示的位置 。

工具栏组件CoolBar和CoolItem

CoolBar是另外一种形式的工具栏,它能够 调整CoolItem的位置,每一个CoolItem可以设定相关的组件(也可以是另一个工具栏),创 建CoolBar的步骤如下:

1. 创建CoolBar对象,并指定创建的样式,例如 “CoolBar composite = new CoolBar (parent, SWT.NONE);”。

2. 创建 CoolItem对象,并指定创建样式,例如“CoolItem item = new CoolItem(composite, SWT.NONE);”。

3. 设置CoolItem的Control对象,例如 “item.setControl(tb);”。

CoolBar相当于一个面板容器,CoolItem是 容器中的每一项,CoolItem能设置相应的组件作为此项的子容器(也可以是其他组件)。为 了更好地掌握CoolBar组件,下面通过一个实例演示如何创建CoolBar组件,代码如例程3所示 。

例程3 CoolBarExample.java

public class CoolBarExample extends ApplicationWindow { public CoolBarExample() { super(null); } protected Control createContents(Composite parent) { getShell ().setText("CoolBar Test"); String asCoolItemSection[] = { "File", "Formatting", "Search" }; //添加 CoolBar CoolBar composite = new CoolBar(parent, SWT.NONE); for (int idxCoolItem = 0; idxCoolItem < 3; ++idxCoolItem) { CoolItem item = new CoolItem(composite, SWT.NONE); //添加子组件 ToolBar tb = new ToolBar (composite, SWT.FLAT); for (int idxItem = 0; idxItem < 3; ++idxItem) { ToolItem ti = new ToolItem(tb, SWT.NONE); ti .setText (asCoolItemSection[idxCoolItem] + " Item #" + idxItem); } Point p = tb.computeSize(SWT.DEFAULT, SWT.DEFAULT); tb.setSize(p); Point p2 = item.computeSize(p.x, p.y); //设置为一个CoolItem的控制类 item.setControl(tb); item.setSize(p2); } return

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号