swt tray demo:右键菜单,单击隐藏,所有事件的例子

菜单

swt的system tray,只能处理三种事件:左键单击,左键双击和右键双击,右键单击这是我看swt 3.0.1 win32的源码所知此demo有以下功能:1.左键单击时 ,隐藏,显示主窗口2.右键单击,弹出菜单注意:1.左键双击和右键双击是一种事件,无法区分2.左键双击将产生以下事件:左键单击,左键双击,左键单击3.关于弹出菜单,menu必须有一个parent,如果程序里没有任何shell,可以建一个不可见的shell专门作为menu的parent.

import org.eclipse.swt.*;import org.eclipse.swt.widgets.*;import org.eclipse.swt.events.*;import org.eclipse.swt.layout.FillLayout;import org.eclipse.swt.graphics.Image;class HelloTray implements SelectionListener{Display display;Shell shell;Button hello;Tray tray;TrayItem ti;Menu menu;MenuItem mi1;MenuItem mi2;MenuItem quit;public HelloTray(){display = Display.getDefault();shell = new Shell();FillLayout fillLayout = new FillLayout();fillLayout.type = SWT.VERTICAL;shell.setLayout(fillLayout);hello = new Button(shell, SWT.NONE);hello.setText("Hello World!");   hello.addSelectionListener(new SelectionAdapter(){public void widgetSelected(SelectionEvent e){       if(hello.getText().equals("Hello World!"))         hello.setText("Clicked");       else         hello.setText("Hello World!");}});menu=new Menu(shell);mi1=new MenuItem(menu,SWT.PUSH);mi1.setText("MenuItem 1");mi1.addSelectionListener(this);mi2=new MenuItem(menu,SWT.PUSH);mi2.setText("MenuItem 2");mi2.addSelectionListener(this);quit=new MenuItem(menu,SWT.PUSH);quit.setText("Quit");quit.addSelectionListener(this);//生成swt的traytray=display.getSystemTray();ti=new TrayItem(tray,0);ti.setToolTipText("This is a swt Tray!");ti.setImage(new Image(display,"E:\\My Documents\\My Pictures\\alm.gif"));//swt,tray的所有事件:ti.addSelectionListener(new SelectionListener(){//左键单击public void widgetSelected(SelectionEvent e){System.out.println("Tray Selcted");//左键单击时 ,隐藏,显示主窗口if(shell.isVisible()){shell.setVisible(false);}else{shell.setVisible(true);shell.forceActive();}}//左键双击,右键双击,都是它public void widgetDefaultSelected(SelectionEvent e){System.out.println("Tray widgetDefaultSelected");}});//右键单击,弹出菜单ti.addListener(SWT.MenuDetect,new Listener(){public void handleEvent(Event event){System.out.println("SWT.MenuDetect");menu.setLocation(display.getCursorLocation());       menu.setVisible(true);}});}public void start(){shell.open();while (!shell.isDisposed()) {if (!display.readAndDispatch())display.sleep();}display.dispose();}public static void main(String[] args) {HelloTray app=new HelloTray();app.start(); }public void widgetSelected(SelectionEvent e){System.out.println(e.getSource()+" selected.");if(e.getSource()==quit){System.out.println("Quit");display.dispose();System.exit(0);}}public void widgetDefaultSelected(SelectionEvent e){ }}

时间: 2024-10-27 04:36:55

swt tray demo:右键菜单,单击隐藏,所有事件的例子的相关文章

右键菜单右键怎么隐藏?

问题描述 我的右键菜单是针对页面上某个DIV而触发的..现在的问题是右击DIV以外的地方我自己做的右键菜单不能隐藏..求高手解决 解决方案 解决方案二:oncontextmenu="closeDiv()"解决方案三:<bodycontextmenu="f();"></body>解决方案四:<bodycontextmenu="f();"></body>解决方案五:<bodycontextmenu

Popup对象实现右键菜单_javascript技巧

Popup对象实现右键菜单 单击鼠标右键查看效果 中关村在线 电脑爱好者 新浪网 新华网

javascript中如何实现浏览器上的右键菜单

javascript|菜单|浏览器 如何实现浏览器上的右键菜单 最近在程序员大本营中的讨论中有一位老兄提出如何在浏览器中实现类似于应用程序的鼠标右击后出现右键菜单的效果.唯鱼试了试,发现不是很难解决.现在就将源码和原理说出来和大家共享一下.哈,其实效果不是很完美啦,如果哪位大侠有更好的解决方法.可以给唯鱼yyu@enet.com.cn来信罗. 首先要解决的问题是在怎样的情况鼠标右击不会出现IE的菜单.思路可以有两个,一个是将焦点移开,还有一个就是点在网页的什么地方不会出现右键菜单,而且会响应鼠标

&amp;#106avascript中如何实现浏览器上的右键菜单

菜单|浏览器 如何实现浏览器上的右键菜单 最近在程序员大本营中的讨论中有一位老兄提出如何在浏览器中实现类似于应用程序的鼠标右击后出现右键菜单的效果.唯鱼试了试,发现不是很难解决.现在就将源码和原理说出来和大家共享一下.哈,其实效果不是很完美啦,如果哪位大侠有更好的解决方法.可以给唯鱼yyu@enet.com.cn来信罗. 首先要解决的问题是在怎样的情况鼠标右击不会出现IE的菜单.思路可以有两个,一个是将焦点移开,还有一个就是点在网页的什么地方不会出现右键菜单,而且会响应鼠标点击消息.(哈哈,废话

如何实现浏览器上的右键菜单_javascript技巧

  最近在程序员大本营中的讨论中有一位老兄提出如何在浏览器中实现类似于应用程序的鼠标右击后出现右键菜单的效果.唯鱼试了试,发现不是很难解决.现在就将源码和原理说出来和大家共享一下.哈,其实效果不是很完美啦,如果哪位大侠有更好的解决方法.可以给唯鱼yyu@enet.com.cn来信罗.  首先要解决的问题是在怎样的情况鼠标右击不会出现IE的菜单.思路可以有两个,一个是将焦点移开,还有一个就是点在网页的什么地方不会出现右键菜单,而且会响应鼠标点击消息.(哈哈,废话一大堆.思路吗?总要多想想才有的) 

在Flex中给datagrid添加右键菜单项的具体实现_Flex

复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" crea

用Flash AS三行代码隐藏右键菜单

菜单|右键 如果你不喜欢AS,如果想去除右键菜单,那么你可以看入门:巧妙去掉网页中Flash的右键菜单这篇文章. 先看效果(右键单击下面的Flash) 有右键菜单的: 方法很简单,导入一幅图片 然后选择第一帧,输入下面Action: 最后可以按Ctrl+Enter测试了注意加代码和没加代码的区别.源文件:点击这里下载源文件

隐藏FLASH的鼠标右键菜单

怎样屏蔽掉显示在flash上的鼠标右键菜单呢,下面我们来讲一下,请看教程... 在DW里插入FLASH 实现在鼠标在FLASH上面不显示右键菜单. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" wi

HTML中实现右键菜单功能

菜单|右键 我们使用的应用系统很多都有右键菜单功能.但是在网页上面,点击右键一般显示的却是IE默认的右键菜单,那么我们如何实现自己的右键菜单呢?下面将讲解右键菜单功能的实现原理和实现代码. 实现原理 在HTML语言中,基本上每个对象都有一个oncontextmenu事件,这个事件就是鼠标的右键单击事件(onclick事件是鼠标的左键单击事件),那么我们就可以在鼠标右击的时候,让系统弹出一个窗口(这个是popup窗口,显示在IE的最前面,没有菜单),上面显示我们想要显示的菜单信息,当我们单击其中某