- 浏览: 237661 次
- 性别:
- 来自: 济南
文章分类
最新评论
-
heartneo:
破解原作真是太厉害了。
Spket 1.6.18的简单破解 -
mwp1115:
谢谢,现在官方的demo代码还是jdk1.2的
Swing JTreeTable范例 -
bulktree:
Spket 谢谢了,js格式化 行宽太小了,你这个帮了我很大的 ...
Spket 1.6.18的简单破解 -
REGAL2T:
谢谢, 可以使用了
Spket 1.6.18的简单破解 -
wuwei1616:
我想问下lz 我生成了 wsdl文件 我用客户端去调用 怎么总 ...
调用CXF工具 生成 WSDL
今天用到Menu,本以为小菜一碟,都是老掉牙的东东了还不简单。逮着键盘狂敲,直到运行的时候,却发现和想象有点出入,bugging。。。
虽然很快就解决了问题,但是自己咬到自己舌头的滋味不好受,索性简单复习一下功课。前人言,好记性不如烂笔头。
package menu; import org.eclipse.swt.SWT; import org.eclipse.swt.events.HelpEvent; import org.eclipse.swt.events.HelpListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class MenuExample1 { Display display; Shell shell; Menu menuBar, fileMenu, secondMenu_Radio, secondMenu_Check, helpMenu; MenuItem fileMenuHeader, helpMenuHeader; MenuItem filePushItem, fileSeperatorItem, exitItem, helpItem, secondMenu_RadioItem, radioItem1, radioItem2, secondMenu_CheckItem, checkItem1, checkItem2; Text text; public MenuExample1() { 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, 50); // 在shell的顶部创建菜单区域,菜单栏的样式必须为SWT.BAR。 // 可用的样式包括:BAR, DROP_DOWN, POP_UP, NO_RADIO_GROUP,LEFT_TO_RIGHT, // RIGHT_TO_LEFT menuBar = new Menu(shell, SWT.BAR); { // 创建File菜单 fileMenuHeader = new MenuItem(menuBar, SWT.CASCADE);// 确保样式是SWT.CASCADE,即级联菜单,这样才会弹出下拉菜单。 fileMenuHeader.setText("&File"); // 追加菜单 fileMenu = new Menu(shell, SWT.DROP_DOWN); fileMenuHeader.setMenu(fileMenu); filePushItem = new MenuItem(fileMenu, SWT.PUSH); filePushItem.setText("&PushMenuItem"); // 分割栏 fileSeperatorItem = new MenuItem(fileMenu, SWT.SEPARATOR); // 子菜单 secondMenu_RadioItem = new MenuItem(fileMenu, SWT.CASCADE); secondMenu_RadioItem.setText("RadioMenu"); secondMenu_Radio = new Menu(shell, SWT.DROP_DOWN); secondMenu_RadioItem.setMenu(secondMenu_Radio); radioItem1 = new MenuItem(secondMenu_Radio, SWT.RADIO); radioItem1.setText("Radio1"); radioItem2 = new MenuItem(secondMenu_Radio, SWT.RADIO); radioItem2.setText("Radio3"); secondMenu_CheckItem = new MenuItem(fileMenu, SWT.CASCADE); secondMenu_CheckItem.setText("Check"); secondMenu_Check = new Menu(shell, SWT.DROP_DOWN); secondMenu_CheckItem.setMenu(secondMenu_Check); checkItem1 = new MenuItem(secondMenu_Check, SWT.CHECK); checkItem1.setText("Check1"); checkItem2 = new MenuItem(secondMenu_Check, SWT.CHECK); checkItem2.setText("Check2"); // checkItem1.setImage(image) } { // 然后通过setAccelerator来设置快捷键,为CTRL+x, // 此时用户可以不需要打开菜单就可以执行该操作 helpMenuHeader = new MenuItem(menuBar, SWT.CASCADE); helpMenuHeader.setText("&Help"); helpMenu = new Menu(shell, SWT.DROP_DOWN); helpMenuHeader.setMenu(helpMenu); exitItem = new MenuItem(helpMenu, SWT.PUSH); exitItem.setText("E&xit\tCtrl+X"); exitItem.setAccelerator(SWT.CTRL + 'X'); helpItem = new MenuItem(helpMenu, SWT.PUSH); helpItem.setText("Help\tF1"); } // 事件处理 { // pushItem filePushItem.addListener(SWT.Selection, new Listener() { public void handleEvent(Event event) { text.setText(((MenuItem) event.widget).getText() + "Action performed!"); } }); // radio radioItem1.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { text.setText("Radio item toggled to:" + radioItem1.getSelection()); } }); // check checkItem1.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { text.setText("Check item toggled to:" + checkItem1.getSelection()); } }); // exit exitItem.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent arg0) { shell.close(); } }); // 帮助监听器HelpListener,通过按下F1/Help键,HelpListener被触发 helpItem.addHelpListener(new HelpListener() { public void helpRequested(HelpEvent e) { text.setText("Help requested on SubAction"); } }); } shell.setMenuBar(menuBar); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } public static void main(String[] args) { MenuExample1 menuExample = new MenuExample1(); } }
如果想变成右键快捷菜单,那就更简单了:将上面的代码稍加处理就可以了。如下:
menuBar = new Menu(shell, SWT.BAR);》》》》》》》》》menuBar = new Menu(shell, SWT.POP_UP);
shell.setMenuBar(menuBar);》》》》》》》》》shell.setMenu(menuBar);
ok,over。
发表评论
-
目录树的生成
2011-09-22 08:54 1325项目上线需要生成个目录树文件,本来可以用dos的tree就搞定 ... -
Eclipse Tip: Define Custom Content Types to Identify Your Data Files
2010-06-13 08:53 1178【转自】http://www.developer.com/ja ... -
WTP Facet 之 AddFilter
2010-06-11 14:22 1218做插件开发的人员都知道,如果你不晓得该使用那个Eclipse提 ... -
Properties文件的读写 : Properties操作示例
2010-04-21 14:19 1474package properties; import j ... -
wizardPage参考
2010-04-15 13:23 2477插件向导开发最好的例子莫过于Eclipse中本身一些向导,但如 ... -
如何访问当前Project???
2010-04-14 08:27 1087【转】http://wiki.eclipse.org/FAQ_ ... -
How to create dynamic web project using facets
2010-03-22 08:51 1445To create a blank faceted proje ... -
Introduction to the XSD Editor(XML Schema Editor)
2010-03-13 16:46 1310By Trung Ha August 30, 2006 ... -
同类编辑器只能打开一个
2010-02-23 13:28 1249在(http://sxw7362693.iteye.com/b ... -
通过事件驱动,创建不同的部件
2010-02-20 15:43 1027非常easy的东西,就是先dispose再create。 ... -
Tree Check 带复选框的树
2009-08-25 13:23 7644在SWT/JFace中,带复选框树最好使用Contain ... -
Swing JTreeTable范例
2009-08-21 13:48 2970由于工作需要,看了一点Swing的JtreeTable的实现。 ... -
SWT/JFACE——toolbar/toolItem
2009-04-23 22:47 10748工具栏通常有两种: toolbar、coolBar。两者的区 ... -
Eclipse.ini参数意义
2009-04-16 17:34 795eclipse.ini内存设置各参数含义 ... -
Editor的脏处理
2009-03-11 21:05 1690做编辑器Editor插件,肯定离不开对“脏”的处理。以前虽然也 ... -
SWT-Table按“行“进行编辑
2009-03-11 10:24 4657package table; /* * 通常在一个表 ... -
读取properties文件
2008-11-27 10:26 1802在 武晨伟的博客 http://blog.csdn.n ... -
移除Builders
2008-08-15 09:36 860public static void removeBuild ... -
Java项目classPath的添加
2008-08-15 09:28 3600// import org.eclipse.jem.workb ... -
tree file options
2008-08-15 08:47 1116package jface.treeviewer; impo ...
相关推荐
swt框架 适用与window下java窗口开发~~~~
JFace-SWT-中文版API(含swt.jar和swt-debug.jar)
swt-4.3-win64.jar,html网页生成图片工具,配合DJNativeSwing 和 DJNativeSwing-SWT 使用
swt-4.2.2-win32-win32-x86_64 windows 64位操作系统的 SWT开发包
swt-deginer - plugins-3(共5 部分)swt-deginer - plugins-3(共5 部分)swt-deginer - plugins-3(共5 部分)swt-deginer - plugins-3(共5 部分)
kettle-ui-swt-7.1.0.0-12.jar 可修改包中资源 核心jar包
将SWT-Designer-Ecpipse3.3 (1)、SWT-Designer-Ecpipse3.3 (2)、SWT-Designer-Ecpipse3.3 (3),这三部分都下载下来,将features.rar解压后的子文件放到eclipse(或者myeclipse)下的features文件夹下,将plugins1....
SWT开发中需要用到的SWT-debug.jar包很重要,含swt-debug.jar
Dll文件jacob.dll & swt-win32-3139.dll
swt-4.3-64,html网页生成图片工具,配合DJNativeSwing 和 DJNativeSwing-SWT 使用
swt-grouplayout-pgroup
swt-3.1.1-win32-win32-x86.zip
JFace-SWT-中文版API(含swt.jar和swt-debug.jar)
SWT-JFace-3.5-API.chm.7z
swt-3.6.1-x86_64
swt-designer for eclipse3.7.2
SWT-Internal-Video使用SWT技术对视频的常用显示功能进行了实现和封装,并提供了API。 它的接口之灵活性可以满足视频显示上的很多要求 与 情况。 使用简单、学习容易! 读者/使用者:Java开发人员。
swt-3.4M4-win32-win32-x86
DJNativeSwing-SWT-1-0-3-20191112,压缩包里面有32位和64位的版本,我都是找了好久才找到!
swt-4.2.2-win32-win32-x86 用于 windows32位 ,eclipse4.2版本的 SWT开发