知识大全 展现组件
Posted 知
篇首语:世事洞明皆学问,人情练达即文章。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 展现组件相关的知识,希望对你有一定的参考价值。
Eclipse开发经典教程:展现组件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SWT中还有一些常用的组件 它们可以使组件更有表现力 且称之为展现组件 它们在SWT开发中也是不可缺少的 包括菜单组件 工具栏组件ToolBar和ToolItem 工具栏组件CoolBar和CoolItem 滚动组件Slider 刻度组件Scale和进度条组件ProgressBar等 菜单组件在程序中 菜单是提供信息比较好的方式 SWT中通过Menu和MenuItem实现菜单和菜单项 在程序中添加菜单的步骤如下 ( )创建Menu对象 并指定创建的样式 例如 menuBar = new Menu(shell SWT BAR); ( )创建MenuItem对象 并指定创建样式 例如 fileEnglishItem = new MenuItem (fileMenu SWT RADIO); ( )设置Menu和MenuItem的关联(Menu中还可以有子Menu) 例如 fileMenuHeader setMenu(fileMenu); ( )添加MenuItem的事件监听器 例如 fileEnglishItem addSelectionListener(new RadioItemListener()); 为了更好地掌握菜单 下面通过一个实例演示如何创建菜单 代码如例程 所示 例程 MenuExample java/** * 为了节省篇幅 所有的import类已经被注释 * 读者可以通过ctrl+shift+o快捷键 自动引入所依赖的类 * 如果有问题可发邮件到 * */ 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( ); text = new Text(shell SWT BORDER); text setBounds( ); //添加主菜单项 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(SelectionEvent event) text setText( You selected + ((MenuItem) event widget) getText()); if (((MenuItem) event widget) getText() equals( E&xit )) shell close(); class RadioItemListener extends SelectionAdapter public void widgetSelected(SelectionEvent event) MenuItem item = (MenuItem) event widget; text setText(item getText() + is on ); public static void main(String[] args) MenuExample menuExample = new MenuExample();
以上程序中添加了主菜单 并在主菜单中添加了两个子菜单项 子菜单项添加了相应的事件响应机制 程序运行效果如图 所示
图 Menu\\MenuItem组件
菜单是可以级联的 在子菜单中还能够包含其它的菜单项
工具栏组件ToolBar和ToolItem ToolBar是SWT中的工具栏组件 ToolItem是工具栏中的工具项(一般表现为按钮或分隔符 也可以是其他组件) 在程序中添加工具栏的步骤如下 创建ToolBar对象 并指定创建的样式 例如 toolBar = new ToolBar(shell SWT FLAT | SWT WRAP | SWT RIGHT); 创建ToolItem对象 并指定创建样式 例如 ToolItem itemPush = new ToolItem (toolBar SWT PUSH); 设置ToolItem的图标和相关属性 例如 itemPush setImage(icon); 添加ToolItem的事件监听器 例如 itemPush addListener(SWT Selection selectionListener); 为了更好地掌握工具栏组件 下面通过一个实例演示如何创建工具栏组件 代码如例程 所示 例程 ToolBarExample java
public class ToolBarExample Display display = new Display(); Shell shell = new Shell(display); ToolBar toolBar; public ToolBarExample() //添加工具栏 toolBar = new ToolBar(shell SWT FLAT | SWT WRAP | SWT RIGHT); //添加工具项 ToolItem itemPush = new ToolItem(toolBar SWT PUSH); itemPush setText( PUSH item ); //设置工具项的显示图标 //Image icon = new Image(shell getDisplay() icons/new gif ); //itemPush setImage(icon); ToolItem itemCheck = new ToolItem(toolBar SWT CHECK); itemCheck setText( CHECK item ); ToolItem itemRadio = new ToolItem(toolBar SWT RADIO); itemRadio setText( RADIO item ); ToolItem itemRadio = new ToolItem(toolBar SWT RADIO); itemRadio setText( RADIO item ); ToolItem itemSeparator = new ToolItem(toolBar SWT SEPARATOR); final ToolItem itemDropDown = new ToolItem(toolBar SWT DROP_DOWN); itemDropDown setText( DROP_DOWN item ); itemDropDown setToolTipText( Click here to see a drop down menu ); final Menu menu = new Menu(shell SWT POP_UP); new MenuItem(menu SWT PUSH) setText( Menu item ); new MenuItem(menu SWT PUSH) setText( Menu item ); new MenuItem(menu SWT SEPARATOR); new MenuItem(menu SWT PUSH) setText( Menu item ); //设置工具项的事件监听器 itemDropDown addListener(SWT Selection new Listener() public void handleEvent(Event event) if (event detail == SWT ARROW) Rectangle bounds = itemDropDown getBounds(); Point point = toolBar toDisplay(bounds x bounds y + bounds height); //设置菜单的显示位置 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) != || (item getStyle() & SWT CHECK) != ) System out println( Selection status: + item getSelection()); ; itemPush addListener(SWT Selection selectionListener); itemCheck addListener(SWT Selection selectionListener); itemRadio addListener(SWT Selection selectionListener); itemRadio 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(puteSize(clientArea width SWT DEFAULT)); ); shell setSize( ); shell open(); while (!shell isDisposed()) if (!display readAndDispatch()) display sleep(); display dispose(); public static void main(String[] args) new ToolBarExample();
程序添加了工具栏 并在工具栏中添加了相应的工具项 工具项中添加了相应的事件响应机制 程序运行效果如图 所示
图 工具栏组件
本示例显示了工具栏和菜单栏的配合使用 菜单动态设定显示的位置
工具栏组件CoolBar和CoolItem CoolBar是另外一种形式的工具栏 它能够调整CoolItem的位置 每一个CoolItem可以设定相关的组件(也可以是另一个工具栏) 创建CoolBar的步骤如下 创建CoolBar对象 并指定创建的样式 例如 CoolBar posite = new CoolBar (parent SWT NONE); 创建CoolItem对象 并指定创建样式 例如 CoolItem item = new CoolItem(posite SWT NONE); 设置CoolItem的Control对象 例如 item setControl(tb); CoolBar相当于一个面板容器 CoolItem是容器中的每一项 CoolItem能设置相应的组件作为此项的子容器(也可以是其他组件) 为了更好地掌握CoolBar组件 下面通过一个实例演示如何创建CoolBar组件 代码如例程 所示 例程 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 posite = new CoolBar(parent SWT NONE); for (int idxCoolItem = ; idxCoolItem < ; ++idxCoolItem) CoolItem item = new CoolItem(posite SWT NONE); //添加子组件 ToolBar tb = new ToolBar(posite SWT FLAT); for (int idxItem = ; idxItem < ; ++idxItem) ToolItem ti = new ToolItem(tb SWT NONE); ti setText(asCoolItemSection[idxCoolItem] + Item # + idxItem); Point p = puteSize(SWT DEFAULT SWT DEFAULT); tb setSize(p); Point p = puteSize(p x p y); //设置为一个CoolItem的控制类 item setControl(tb); item setSize(p ); return posite; public static void main(String[] args) CoolBarExample app = new CoolBarExample(); app setBlockOnOpen(true); app open(); Display getCurrent() dispose();
以上代码演示了如何创建CoolBar CoolBar中每一个CoolItem可以根据用户的需要调整位置 程序运行效果如图 所示
图 CoolBar组件
CoolBar和ToolBar的展现样式不一样 CoolBar可以动态调整工具栏的位置
滚动组件Slider 为了方便用户输入数据 SWT中提供了Slider组件 用户可通过Slider设置数据的增量值 用来控制其他组件 也可以作为滚动条控制其他组件中的数据显示 添加Slider组件的步骤如下 创建Slider对象 并指定创建的样式 例如 Slider slide = new Slider(shell SWT HORIZONTAL); 设置Slider的最大值和最小值 例如 slide setMaximum( ); 设置Slider增量的增加或递减值 例如 slide setIncrement( ); 添加Slider的事件监听器 例如 slide addSelectionListener(selectionListener); 为了更好地掌握Slider组件 下面通过一个实例演示如何创建Slider组件 代码如例程 所示 例程 SliderExample java
public class SliderExample Display dispaly; Shell shell; SliderExample() dispaly = new Display(); shell = new Shell(dispaly); shell setSize( ); shell setText( A Slider Example ); //添加Slider对象 final Slider slide = new Slider(shell SWT V_SCROLL); //设置Slider的位置和大小 slide setBounds( ); //设置Slider的最小值 slide setMinimum( ); //设置Slider的最大值 slide setMaximum( ); //设置Slider单击左右箭头的增加或递减值 slide setIncrement( ); final Text t = new Text(shell SWT BORDER); t setBounds( ); t setText( ); t setFocus(); //添加Slider的事件监听器 slide addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) t setText(new Integer(slide getSelection()) toString()); ); shell open(); while (!shell isDisposed()) if (!dispaly readAndDispatch()) dispaly sleep(); dispaly dispose(); public static void main(String[] args) new SliderExample();
以上代码添加了一个Text组件和一个Slider组件 Slider组件设置了增量值为 另外Slider组件添加了选择事件 当选择了Slider组件后 Slider将为Text组件赋值 程序运行效果如图 所示
图 Slider组件
Slider组件要配合其它的组件使用 辅助其它的组件完成功能
刻度组件Scale Scale和Slider类似 在SWT中都表示一种尺度 但两者的表现形式不一样 Scale更像一个刻度 而Slider则是提供一个滚动条 添加Scale组件的步骤如下 创建Scale对象 并指定创建的样式 例如 Scale scale = new Scale(shell SWT VERTICAL); 设置Scale的最大值和最小值 例如 scale setMaximum( ); 设置Scale增量的增加或递减值 例如 scale setPageIncrement( ); 添加Scale的事件监听器 例如 scale addSelectionListener(selectionListener); 为了更好地掌握Scale组件 下面通过一个实例演示如何创建Scale组件 代码如例程 所示 例程 ScaleExample javapublic class ScaleExample Display display = new Display(); Shell shell = new Shell(display); Scale scale; Text value; public ScaleExample() shell setLayout(new GridLayout( true)); Label label = new Label(shell SWT NULL); label setText( Volume: ); //添加Scale组件 scale = new Scale(shell SWT VERTICAL); scale setBounds( ); //设置Scale的最大值 scale setMaximum( ); //设置Scale的最小值 scale setMinimum( ); //设置Scale的增量值 scale setPageIncrement( ); //添加Scale的事件监听器 scale addListener(SWT Selection new Listener() public void handleEvent(Event event) int perspectiveValue = scale getMaximum() scale getSelection() + scale getMinimum(); value setText( Vol: + perspectiveValue); ); value = new Text(shell SWT BORDER | SWT SINGLE); value setEditable(false); scale setLayoutData(new GridData(GridData HORIZONTAL_ALIGN_CENTER)); value setLayoutData(new GridData(GridData HORIZONTAL_ALIGN_CENTER)); shell pack(); shell open(); while (!shell isDisposed()) if (!display readAndDispatch()) display sleep(); display dispose(); private void init() public static void main(String[] args) new ScaleExample();
上例中 通过事件监听器监听当前选择的刻度 并用Text组件显示出来 程序运行效果如图 所示
图 Scale组件
Scale组件能够精确的显示刻度 用户可以设制好刻度的范围 这是非常有用的
进度条组件ProgressBar ProgressBar是SWT中的进度条组件 进度条提供了比较长时间操作的进度信息 添加ProgressBar组件的步骤如下 创建ProgressBar对象 并指定创建的样式 例如 ProgressBar pb = new ProgressBar (shell SWT HORIZONTAL | SWT SMOOTH); 设置ProgressBar的最大值和最小值 例如 pb setMaximum( ); 在长时间的任务中设置当前进度条的进度 例如 progressBar setSelection (progressBar getSelection() + ); 进度条能反映当前的工作进度 为了配合处理长时间的任务 进度条经常配合线程使用 以免产生阻塞影响界面的操作 为了更好地掌握ProgressBar组件 下面通过一个实例演示如何创建ProgressBar组件 代码如例程 所示 例程 ProgressBarExample java
public class ProgressBarExample public static void main(String[] args) Display display = new Display(); Shell shell = new Shell(display); shell setLayout(new GridLayout()); //添加平滑的进度条 ProgressBar pb = new ProgressBar(shell SWT HORIZONTAL | SWT SMOOTH); pb setLayoutData(new GridData(GridData FILL_HORIZONTAL)); //设置进度条的最小值 pb setMinimum( ); //设置进度条的最大值 pb setMaximum( ); //添加自动递增的进度条 ProgressBar pb = new ProgressBar(shell SWT HORIZONTAL | SWT INDETERMINATE); pb setLayoutData(new GridData(GridData FILL_HORIZONTAL)); //添加线程 在线程中处理长时间的任务 并最终反映在平滑进度条上 new LongRunningOperation(display pb ) start(); shell open(); while (!shell isDisposed()) if (!display readAndDispatch()) display sleep(); class LongRunningOperation extends Thread private Display display; private ProgressBar progressBar; public LongRunningOperation(Display display ProgressBar progressBar) this display = display; this progressBar = progressBar; public void run() //模仿长时间的任务 for (int i = ; i < ; i++) try Thread sleep( ); catch (InterruptedException e) display asyncExec(new Runnable() public void run() if (progressBar isDisposed()) return; //进度条递增 progressBar setSelection(progressBar getSelection() + ); );
以上代码添加了两个进度条 一个进度条为自动显示增加进度的信息(SWT INDETERMINAT样式) 另外一个进度条通过线程处理长时间的任务 并设定进度条的信息 程序运行效果如图 所示
图 ProgressBar组件
进度条有不同的样式 在程序中 开发人员可以控制进度条的进度 执行某些长时间的操作
cha138/Article/program/Java/ky/201311/28550相关参考
家居餐厅设计怎样展现西式风格?随着中西方文化的交流的深入,各种各样西式装修装饰设计风格,也逐渐为人们的喜爱。在家居中,如今可以看到各种各样的西方装饰的身影。在家居的空间格局中,餐厅应该算得上是其中比较
软装设计有几个方式来展现魅力所在呢?轻装修重装饰的概念使得人们开始格外的注重软装,甚至有了专门的软装设计师,软装设计通过什么方式来展现魅力所在呢?1、文化内涵。在人类发展的不同时期不同地区,都产生了许
知识大全 展现母亲形象的绘画 摄影 歌曲 电影广告等作品 有哪些
展现母亲形象的绘画摄影歌曲电影广告等作品有哪些有个广而告之,是孩子帮妈妈洗脚的。电影的话,应该很多。。有部电影叫《世界上最疼我的那个人去了》我觉得挺不错展现母亲形象的绘画,摄影,歌曲,电影,广告等作品
装修工程中配饰展现力不容忽视不同的设计理念和方案就需要相应的软装配饰来点缀。随着不同设计理念的创新和发展,繁复、复古、混搭、各种风格设计在不断兴起。复古是近年来不可回避的话题,如今的复古更强调一种融合
知识大全 生活很无奈,现实太残酷,怎样才能更好的走出自己的世界,展现自己
生活很无奈,现实太残酷,怎样才能更好的走出自己的世界,展现自己面对现实,用心去体会,用心去生活怎样才能更好的展现自己多高调点呢,自信满满,帅得要被砍,哈哈求采纳生活很无奈现实很残酷理想跟现实都是有差距
随着生活水平的不断提升,现在越来越多的人会想要去国外旅游,中国已然成为了出境旅游人数最多的国家。去国外旅游之前,需要取一个英文名字,如果在国外使用自己的中文名字的话会产生很多不便之处,有一个英文名字会
自我介绍通常是面试过程的第一个环节,找过工作的人对此并不陌生。昨天,在参加单面比赛时,大三学生小吴听到面试官要求他做自我介绍时,小吴流利地说出自己的姓名、年龄、院校、专业等。这种回答让面试官直摇头。“
2名女大学生传授求职秘诀「三八」节刚刚过去,一系列女性专场招聘会让不少女大学生找到了职业的归属。不过,在当前就业形势严峻的情况下,在不要女生成了一些招聘单位「潜规则
先添加引入命名空间SystemNetMail 组件代码: ///<summary> ///邮件发送组件 ///</summary> publicclassEmai
试题:对本公司的印象现场:吴士宏参加IBM的面试,主考官问「你知道IBM是家怎样的公司吗?」「很抱歉,我不清楚。」吴士宏实话实说。主考官又问:「那你怎么知道你有资格来IBM工作?」「您没用过我,又怎能