`
rcyl2003
  • 浏览: 231571 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

使用JDesktop Integration Components实现桌面系统托盘

阅读更多
JDesktop Integration Components (JDIC),是一个开源的项目,目的是构建消除本机应用程序和 Java 等价物之间差距的组件。JDIC 单一的 Java API 允许应用程序接进本机操作系统特性,同时保持跨平台支持。它目前提供了本机 Web 浏览器(Internet Explorer 或 Mozilla) 支持、系统托盘支持、文件扩展集成和其他桌面特性。

今天就只讲怎么实现系统托盘支持(因为目前我就用了这个功能 [sweat] ).

设置

编写和运行使用 JDIC 应用程序的机器设置比通常情况略微麻烦一些。除了通常的类路径要求之外,还必须提供 Java 类要调用的操作系统库。每个操作系统都有不同的操作系统库,所以如果想使用 JDIC 将应用程序移植到许多不同的操作系统上,则必须为每个操作系统提供一个库。使用 JDIC 发行版 0.9 时(也就是这篇文章所根据的版本),JDIC 可以处理 Windows、Linux 和 Solaris 系统(要对 Macintosh 的拥护者说抱歉了)。

开始下载跨平台 JDIC 包,其中包括:

1.jdic.jar:这个 JAR 文件包含进行 JDIC 开发所需的所有 Java 类。它们必须位于类路径中,以便进行编译。

2.jdic.dll 和 tray.dll:在 Windows 安装中,这些文件都要放在 C:\Windows 目录(或者对应的目录)中。这些文件包含 jdic.jar 的 Java 方法和本机操作系统方法之间的"桥接"方法。

3.libjdic.so 和 libtray.so:在 Solaris 和 Linux 系统上,这些文件必须放在 LD_LIBRARY_PATH 文件夹中。


SystemTray 组件
这个是今天的重点,托盘图标就是通过它来实现的.
整个 org.jdesktop.jdic.tray 包只有两个类:SystemTray 抽象了系统托盘本身;TrayIcon 抽象了系统托盘中的单个图标。

最直观的方式就是看代码:


SystemTray tray = SystemTray.getDefaultSystemTray();
//getPopupMenu()方法是创建一个菜单,代码略
final TrayIcon trayIcon = new TrayIcon(getTrayIcon(), "Tray Test",getPopupMenu());

trayIcon.setIconAutoSize(true);

trayIcon.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
setVisible(true);//点击图标显示界面
}
});
tray.addTrayIcon(trayIcon);//向系统托盘添加新的 TrayIcon


private ImageIcon getTrayIcon() {
return new ImageIcon(Client.class.getResource("images/icon.png"));
}


这样就创建了一个托盘图标.

TrayIcon 类(很不幸)目前对它与鼠标单击的交互方式进行了硬编码。TrayIcon 在鼠标左键单击时将触发 ActionEvent,而在鼠标右击时则显示弹出菜单。

它还允许 TrayIcon 显示 Windows 用户熟悉的"泡泡消息"。
单击示例应用程序的 Alert 按钮,就可以看到实际运用中的泡泡消息。以下是实现它的代码:

//getBtnAlert()方法返回一个Button对象,方法略
getBtnAlert().addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
trayIcon.displayMessage("Alert", "This is an Alert Message", TrayIcon.INFO_MESSAGE_TYPE);
}
});



JDesktop Integration Components弥补了在 Swing 和 Java 程序语言之间的主要差距。随着其他方面的不断努力,差距会进一步缩小,总有一天,用户会无法区分 Java 应用程序和本机应用程序.如果大家对它的其他功能有兴趣的话可以访问https://jdic.dev.java.net/ JDIC Project 的主页。
 
分享到:
评论

相关推荐

    JDIC(JDesktop Integration Components).jar

    JDIC(JDesktop Integration Components)

    JDIC(JDesktop Integration Components)

    Java的GUI内嵌浏览器JDIC(JDesktop Integration Components)所需要的jar包以及dll文件,包括 jdic.jar、 jdic.dll 、tray.all 、IeEmbed.exe

    The JDesktop Integration Components (JDIC)

    The JDesktop Integration Components (JDIC) 有人提出分数太高,但是我无法修改分数,可以给大家提供别人的下载地址,希望能对你们有帮助 http://download.csdn.net/source/499302

    JDesktop+Integration+Components.pdf

    PDF格式 为数不多的JDIC中文资源 希望大家喜欢

    JDIC应用

    介绍 JDesktop Integration Components 用 JDIC 在桌面应用程序中集成本机操作系统特性

    浏览器解析

    JDIC(JDesktop Integration Components)是一个开源的项目,目的是构建消除本机应用程序和 Java 等价物之间差距的组件。JDIC单一的 Java API 允许应用程序接进本机操作系统特性,同时保持跨平台支持。它目前提供了...

    JDIC开发用到的dll文件

    JDIC 全程是 JDesktop Integration Components,是构建消除本机应用程序和 Java 等价物之间差距的组件。JDIC 单一的 Java API 允许应用程序接进本机操作系统特性,同时保持跨平台支持。

    jdic-all.jar

    java webbrower,JDIC开发...JDIC 全程是 JDesktop Integration Components 目的是构建消除本机应用程序和 Java 等价物之间差距的组件。JDIC 单一的 Java API 允许应用程序接进本机操作系统特性,同时保持跨平台支持。

    tray64.zip

    tray 64位上传文件,用于jdic中的dll库,JDIC 全程是 JDesktop Integration Components 目的是构建消除本机应用程序和 Java 等价物之间差距的组件。JDIC 单一的 Java API 允许应用程序接进本机操作系统特性,同时...

    org-jdesktop-layout.jar

    org-jdesktop-layout.jar

    org.jdesktop.layout jar包,完整亲测

    org.jdesktop.layout jar包,完整亲测

    swingx-1.6.1+jai_imageio-1.1

    Main-Class: org.jdesktop.swingx.painter.demo.PainterDemoSet X-COMMENT: Main-Class will be added automatically by build Name: org/jdesktop/swingx/JXCollapsiblePane.class Java-Bean: True Name: org/...

    jsoup.jar(包含中文API)

    它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作...2. 使用DOM或CSS选择器来查找、取出数据; 3. 可操作HTML元素、属性、文本; jsoup是基于MIT协议发布的,可放心使用于商业项目。

    junit4.11 org.jsoup org.jdesktop SWT_Designer

    搞P2P,文件传输,文件共享,需要的一些包====java的,以后上传源代码。...org.jdesktop.swingx.jar org.jsoup-1.10 org-jdesktop-swingx.jar.zip SWT_Designer.zip 收集不易,共享上传给需要的朋友童鞋。。。。

    com.siyue.org.jdesktop.swingx_1.6.4.jar

    jar包,官方版本,自测可用

    neo4j-desktop

    neo4j window 的客户端,neo4j-desktop,neo4j-desktop-offline-1.2.4-setup

    swingx-1.6.1.jar

    ocr数字识别: import org.jdesktop.swingx.util.OS; 需要导入swingx-1.6.1.jar包

    Desktop --java操作excel

    java操作excel、java写入EXCEL、写入读取excel 将数据插入到Excel中

    网页版jdic.jar

    import org.jdesktop.jdic.browser.WebBrowser; import org.jdesktop.jdic.browser.WebBrowserEvent;

    Neo4j+springboot+vue+d3.js知识图谱构建和可视化

    Neo4j+springboot+vue+d3.js知识图谱构建和可视化

Global site tag (gtag.js) - Google Analytics