`
xblia
  • 浏览: 82627 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

swt 托盘显示

 
阅读更多
package Hello;    
   
import org.eclipse.swt.SWT;    
import org.eclipse.swt.events.SelectionAdapter;    
import org.eclipse.swt.events.SelectionEvent;    
import org.eclipse.swt.events.ShellAdapter;    
import org.eclipse.swt.events.ShellEvent;    
import org.eclipse.swt.graphics.Image;    
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.MessageBox;    
import org.eclipse.swt.widgets.Shell;    
import org.eclipse.swt.widgets.ToolTip;    
import org.eclipse.swt.widgets.Tray;    
import org.eclipse.swt.widgets.TrayItem;    
   
public class TrayTest {    
    public TrayTest() {    
        final Display d = new Display();    
        final Shell s = new Shell(d);    
        s.setText("TrayTest");    
        s.setImage(new Image(d, "img/lei.jpg"));    
        final Menu menu = new Menu(s, SWT.POP_UP);    
        final MenuItem exitItem = new MenuItem(menu, SWT.PUSH);    
        exitItem.setText("退出");    
        exitItem.addSelectionListener(new SelectionAdapter() {    
            public void widgetSelected(SelectionEvent e) {    
                MessageBox box = new MessageBox(s, SWT.YES | SWT.NO    
                        | SWT.ICON_QUESTION);    
                box.setMessage("您真的退出么");    
                int response = box.open();    
                if (response == SWT.YES) {    
                    System.exit(0);    
                }    
            }    
        });    
        final ToolTip toolTip = new ToolTip(s, SWT.BALLOON);    
        toolTip.setMessage("呵呵,我在这里呢!");    
        toolTip.setText("提示信息");    
        final Tray tray = d.getSystemTray();    
        TrayItem trayItem = new TrayItem(tray, SWT.NONE);    
        trayItem.setImage(new Image(d, "img/vx-01.gif"));    
        trayItem.setToolTip(toolTip);    
        trayItem.addSelectionListener(new SelectionAdapter() {    
            public void widgetSelected(SelectionEvent e) {    
                if (s.getVisible() == true) {    
                    s.setVisible(false);    
                    toolTip.setVisible(true);    
                } else {    
                    s.setVisible(true);    
                    s.setActive();    
                }    
            }    
        });    
        trayItem.addListener(SWT.MenuDetect, new Listener() {    
            public void handleEvent(Event e) {    
                menu.setVisible(true);    
            }    
        });    
        s.addShellListener(new ShellAdapter() {    
            public void shellIconified(ShellEvent e) {    
                toolTip.setVisible(true);    
            }    
        });    
        s.open();    
        while (!s.isDisposed()) {    
            if (!d.readAndDispatch())    
                d.sleep();    
        }    
        d.dispose();    
    }    
   
    public static void main(String[] args) {    
        // TODO 自动生成方法存根    
        new TrayTest();    
   
    }    
   
}    

 

分享到:
评论

相关推荐

    java swt 隐藏和显示任务栏图标和托盘图标(2)

    本文将深入探讨如何使用SWT在Java中隐藏和显示任务栏图标以及托盘图标。 首先,我们需要理解SWT中的`Display`和`Shell`概念。`Display`是应用程序的主要窗口,而`Shell`则是用户与应用交互的窗口。在SWT中,`Shell`...

    swt 隐藏显示任务栏核心

    SWT 3.0 开始引入了 Tray,可以在系统栏放置你的程序图标了 本程序实现的功能有四: * 1. 点击窗口的最小化或关闭按钮都是隐藏窗口--任务栏里不显示,不退出程序 * 2. 窗口隐藏时,任务栏无图标,系统栏有图标;...

    *此源码已更新并重新上传java swt 隐藏和显示任务栏图标和托盘图标

    在给定的资源中,我们关注的是如何使用SWT来实现任务栏图标和托盘图标的隐藏与显示功能。以下是相关的知识点详解: 1. **Java SWT**: SWT(Standard Widget Toolkit)是由Eclipse基金会开发的一个开源库,它允许...

    Java SWT界面的托盘显示

    //点击关闭或者小化时程序不会退出而是显示到托盘中 当然也可以是显示在任务栏中的  public class TrayApp {  public static void main(String[] args) {  Display display = new Display();  final ...

    java创建系统托盘实现(swt和jdk6分别实现)

    `16.gif` 文件是用于图标显示的图形资源,`swt.jar` 是SWT库的依赖,它包含了SWT相关的类和方法。 总的来说,了解如何在不同环境下创建系统托盘图标对于开发跨平台的应用程序至关重要,这使得用户即使在应用程序...

    Eclipse SWT 开发参考

    - **Tray组件**:用于创建系统托盘图标。 - **Tree组件**:用于创建树形结构的列表。 - **Table组件**:用于创建表格形式的数据展示。 - **TabFolder组件**:用于创建带标签页的容器。 - **MessageBox组件**:用于...

    SWT开发参考文档

    - **Tray组件**:创建托盘图标。 - **Tree组件**:用于构建树形结构的数据展示。 - **Table组件**:用于表格数据展示。 - **TabFolder组件**:创建选项卡式界面。 - **MessageBox组件**:用于弹出消息对话框。 - **...

    Swing 实现系统托盘

    总结来说,Java Swing的系统托盘功能是通过`SystemTray`和`TrayIcon`类实现的,它允许开发者在不支持主窗口显示的情况下保持应用程序的可访问性。结合图标、事件监听和上下文菜单,可以创建出功能丰富的系统托盘应用...

    最小化到系统托盘java

    3. **通过系统托盘操作窗口**:当窗口隐藏时,可以通过点击系统托盘中的图标或通过系统托盘菜单中的“显示窗口”选项来恢复窗口的显示。 4. **程序的退出方式**:程序只能通过系统托盘菜单中的“退出程序”选项来...

    SWT疑难点解答,帮助新手朋友

    Tray是SWT提供的系统托盘类,允许在系统托盘区域添加图标。然而,需要注意的是,Tray的跨平台支持并不完全,因此在实际开发中应谨慎使用。 Table控件是SWT中用于展示和编辑大量数据的重要组件。创建Table并添加列和...

    RCP系统托盘实现方法

    如果需要在右键单击托盘图标时显示菜单,可以创建一个`Menu`对象,并在监听器的`handleEvent()`方法中显示它。 5. **处理窗口关闭**: 当用户尝试关闭程序时,不应直接关闭托盘图标。这可以通过重写`...

    JFace_SWT.doc

    - **Tray**: 系统托盘,可以在任务栏中显示一个小图标。 #### 六、容器类 SWT 中的容器类用于组织和管理其他组件,常见的容器包括: - **Composite**: 最基本的容器类,可以包含其他组件。 - **Group**: 分组容器...

    swt-api-eclipse3.6

    - SWT API允许开发者访问操作系统的一些特定功能,如剪贴板、注册表、系统托盘图标等。 通过深入理解和熟练运用SWT API,开发者能够在Eclipse 3.6环境中构建出功能丰富、性能高效、用户体验良好的桌面应用。"swt-...

    【重大更新】用SWT/JFace实现的放大镜JZoomer V1.1.1(附源码)

    实现功能: ·字符串国际化 ·系统文件可编辑 ·系统托盘显示 ·支持滚轮缩放功能 ·控件拖拽功能 <br>20071227 1. JExplorer实现,初步了解JFace框架的设计思想,了解Action的使用...

    Eclipse_Swt_Jface_核心应用_部分19

    9.5 系统托盘(Tray和TrayItem) 164 9.6 滑动组件 167 9.6.1 滑块(Slider) 167 9.6.2 刻度条(Scale) 168 9.6.3 微调按钮(Spinner) 168 9.7 进度条(ProgressBar) 169 9.8 对话框 170 9.8.1 ...

    [开源]用SWT/JFace实现的放大镜软件jZoomer v1.2.0(附源码)

    实现功能: ·字符串国际化 ·系统文件可编辑 ·系统托盘显示 ·支持滚轮缩放功能 ·控件拖拽功能 20071227 1. JExplorer实现,初步了解JFace框架的设计思想,了解Action的使用方法...

    [原创]用SWT/JFace实现的放大镜软件JZoomer(附源码)

    实现功能: ·字符串国际化 ·系统文件可编辑 ·系统托盘显示 ·支持滚轮缩放功能 ·控件拖拽功能 20071227 1. JExplorer实现,初步了解JFace框架的设计思想,了解Action的使用方法...

    mp3播放器java 1.02版

    3:更正了系统托盘菜单中的播放模式显示不能与播放器的播放模式同步的BUG。 4:在系统托盘菜单中加入音量控制功能,每次改变音量的 5% 。 5:修正了保存列表和打开列表功能. (注意:在保存列表的时候一定...

    JAVA版飞鸽传书(源码)

    4. **任务栏托盘显示**: 任务栏托盘图标是很多后台应用的标准设计,它允许用户在不占用主窗口的情况下保持应用程序运行。在Java中,可以通过java.awt.TrayIcon类实现这一功能,提供通知和快捷菜单等交互方式。 5....

Global site tag (gtag.js) - Google Analytics