快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

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

时间:2011-04-11 阿甘

SWT中还有一些常用的组件,它们可以使组件更有表现力,且称之为展现组件,它们在SWT 开发中也是不可缺少的,包括菜单组件、工具栏组件ToolBar和ToolItem、工具栏组件 CoolBar和CoolItem、滚动组件Slider、刻度组件Scale和进度条组件ProgressBar等。

菜单组件

在程序中,菜单是提供信息比较好的方式,SWT中通过Menu和MenuItem实现菜单和菜单项 ,在程序中添加菜单的步骤如下。

(1)创建Menu对象,并指定创建的样式,例如“menuBar = new Menu(shell, SWT.BAR); ”。

(2)创建MenuItem对象,并指定创建样式,例如“fileEnglishItem = new MenuItem (fileMenu, SWT.RADIO);”。

(3)设置Menu和MenuItem的关联(Menu中还可以有子Menu),例如“fileMenuHeader. setMenu(fileMenu);”。

(4)添加MenuItem的事件监听器,例如“fileEnglishItem.addSelectionListener(new RadioItemListener());”。

为了更好地掌握菜单,下面通过一个实例演示如何创建菜单,代码如例程1所示。

例程1 MenuExample.java

/** * 为了节省篇幅,所有的import类已经被注释 * 读者可以通过ctrl+shift+o快捷键,自动引入所依赖的类 * 如果有问题可发邮件到ganshm@gmail.com * */ public class MenuExample { Display display; Shell shell; Menu menuBar, fileMenu, editMenu; MenuItem fileMenuHeader, editMenuHeader; MenuItem fileExitItem, fileSaveItem, fileEnglishItem, fileGermanItem, editCopyItem; Text text; public MenuExample() { display = new Display(); shell = new Shell(display); shell.setText("Menu Example"); shell.setSize(300, 200); text = new Text(shell, SWT.BORDER); text.setBounds(80, 50, 150, 25); //添加主菜单项 menuBar = new Menu(shell, SWT.BAR); //添加一级子菜单 fileMenuHeader = new MenuItem(menuBar, SWT.CASCADE); fileMenuHeader.setText("&File"); //添加一级子菜单的菜单项 fileMenu = new Menu(shell, SWT.DROP_DOWN); fileMenuHeader.setMenu(fileMenu); fileSaveItem = new MenuItem(fileMenu, SWT.PUSH); fileSaveItem.setText("&Save"); fileEnglishItem = new MenuItem(fileMenu, SWT.RADIO); fileEnglishItem.setText("English"); fileGermanItem = new MenuItem(fileMenu, SWT.RADIO); fileGermanItem.setText("German"); fileExitItem = new MenuItem(fileMenu, SWT.PUSH); fileExitItem.setText("E&xit"); editMenuHeader = new MenuItem(menuBar, SWT.CASCADE); editMenuHeader.setText("&Edit"); editMenu = new Menu(shell, SWT.DROP_DOWN); editMenuHeader.setMenu(editMenu); editCopyItem = new MenuItem(editMenu, SWT.PUSH); editCopyItem.setText("&Copy"); //添加菜单项的事件监听器 fileExitItem.addSelectionListener(new MenuItemListener()); fileSaveItem.addSelectionListener(new MenuItemListener()); editCopyItem.addSelectionListener(new MenuItemListener()); fileEnglishItem.addSelectionListener(new RadioItemListener()); fileGermanItem.addSelectionListener(new RadioItemListener()); shell.setMenuBar(menuBar); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } class MenuItemListener extends SelectionAdapter { public void widgetSelected(Selection

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号