`

SWT在任务栏上显示

    博客分类:
  • java
阅读更多
package crtjunit;

import java.io.InputStream;

import org.eclipse.swt.SWT;
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.Shell;
import org.eclipse.swt.widgets.Tray;
import org.eclipse.swt.widgets.TrayItem;

import com.jia.dialog.SelectFileDlg;

public class MainClass {

    public static void main(String[] args) {
        InputStream path=MainClass.class.getResourceAsStream("logo.gif");

        Display display = new Display();
        final Shell shell = new Shell(display);

        Image image = new Image(display, path);

        Tray tray = display.getSystemTray();
        if (tray != null) {
            final TrayItem item = new TrayItem(tray, SWT.NONE);
            item.setToolTipText("TEST");
            item.addListener(SWT.Show, new Listener() {
                public void handleEvent(Event event) {
                }
            });

            item.addListener(SWT.Hide, new Listener() {
                public void handleEvent(Event event) {
                }
            });

            item.addListener(SWT.Selection, new Listener() {
                public void handleEvent(Event event) {
                }
            });

            final Menu menu = new Menu(shell, SWT.POP_UP);
            MenuItem mi = new MenuItem(menu, SWT.PUSH);
            mi.setText("close");
            mi.addListener(SWT.Selection, new Listener() {
                public void handleEvent(Event event) {
                    shell.close();
                }
            });

            item.addListener(SWT.MenuDetect, new Listener() {
                public void handleEvent(Event event) {
                    menu.setVisible(true);
                }
            });

            item.setImage(image);
        }

        SelectFileDlg test = new SelectFileDlg(shell);
        test.setBlockOnOpen(true);
        test.open();
    }
}

 

 

分享到:
评论

相关推荐

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

    在SWT中,`Shell`可以设置为可见或不可见,这直接影响到任务栏上的图标状态。 要隐藏任务栏图标,我们需要隐藏对应的`Shell`。在Java代码中,你可以使用以下方式: ```java Shell shell = new Shell(display); // ...

    swt 隐藏显示任务栏核心

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

    SWT隐藏任务栏图标

    在SWT中,窗口(Shell)是应用程序的基本容器,它在任务栏上显示为一个图标。默认情况下,Shell会自动创建并显示任务栏图标。要实现隐藏任务栏图标的功能,我们需要深入理解SWT的内部机制,并可能需要对源码进行一定...

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

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

    java6支持任务栏图标

    在Java 6中,开发者可以通过特定的技术实现应用程序在任务栏上显示自定义图标。这对于提高用户界面的友好性和可识别性非常有帮助。本篇文章将详细介绍如何利用Java 6来实现这一功能。 #### 任务栏图标的显示原理 在...

    Eclipse SWT 开发参考

    - **跨平台**:虽然每个平台上的实现可能略有不同,但SWT组件的行为和外观在不同的平台上保持高度一致。 - **性能**:通过JNI技术,SWT能够在需要时直接调用本地代码,从而提高性能。 #### 3. SWT包结构 SWT的包...

    SWT/Jface API 3.4

    SWT 是一个直接与操作系统进行交互的底层库,提供了丰富的控件和组件,而 JFace 建立在 SWT 之上,提供了一层抽象,简化了 GUI 的设计和实现,使其更易于管理和维护。 在 SWT/Jface API 3.4 版本中,我们关注以下几...

    SWT桌面程序开发实例图解教程

    - **菜单热键设置**:例如,要在帮助菜单上设置热键ALT+H,只需要将文本设置为“帮助(&H)”即可。 - **设置菜单事件**:为每个菜单项添加监听器,当菜单项被点击时执行相应的操作。 - 示例代码: ```java Menu ...

    SWT JFACE in Action(中文)

    JFace则是建立在SWT之上的更高层次的抽象,旨在简化GUI开发的复杂性。JFace提供了一组高级组件、视图、对话框和事件处理机制,使得开发者可以专注于业务逻辑,而无需过多关注底层的SWT细节。例如,JFace的数据绑定...

    JFace_SWT.doc

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

    SWT 编 程 总 结

    - **设置控件的偏移量**:可以在水平或垂直方向上设置控件的偏移。 - **根据其他控件调整位置**:可以使控件相对于其他控件进行定位。 ##### 8.5 StackLayout - **概述**:只显示当前选定的控件。 ##### 8.6 ...

    java swt版本的qq可以实现的功能

    - 菜单设计:在主面板上设置了三个主要菜单:“我的好友”、“我的Q群”和“MyShow”,方便用户快速访问相关功能; - 修改个性签名:用户可以在个人资料页面中编辑自己的个性签名; - 更换面板背景图片:允许用户...

    Java SWT界面的托盘显示

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

    eclipse 状态栏

    例如,如果你想要在状态栏显示一个实时更新的内存使用情况,你可以创建一个新的贡献项,并在其`fill`方法中处理更新逻辑。 4. **插件开发** 在Eclipse插件开发中,你可以使用`IWorkbenchWindow`接口的`...

    最小化到系统托盘java

    反之,当窗口处于显示状态时,则在任务栏显示图标而在系统托盘中消失。 3. **通过系统托盘操作窗口**:当窗口隐藏时,可以通过点击系统托盘中的图标或通过系统托盘菜单中的“显示窗口”选项来恢复窗口的显示。 4. **...

    JAVA版飞鸽传书(源码)

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

    Eclipse开发经典教程

    1. **FillLayout**:将所有子组件以相同大小填充到父组件中,通常用于工具栏或任务栏,或单个组件填充整个空间的情况。FillLayout有两种风格,水平或垂直排列子组件。 2. **RowLayout**:子组件沿行显示,可以自动...

    文件浏览器源码

    在IT行业中,开发一个文件浏览器应用是常见的任务之一,它能帮助用户方便地浏览和管理本地文件系统。本文将深入探讨“文件浏览器源码”这一主题,基于SWT(Standard Widget Toolkit)技术框架,以及RCP(Rich Client...

Global site tag (gtag.js) - Google Analytics