JDesktop Integration Components (JDIC),是一个开源的项目,目的是构建消除本机应用程序和 Java 等价物之间差距的组件。JDIC 单一的 Java API 允许应用程序接进本机操作系统特性,同时保持跨平台支持。它目前提供了本机 Web 浏览器(Internet Explorer 或 Mozilla) 支持、系统托盘支持、文件扩展集成和其他桌面特性。 今天就只讲怎么实现系统托盘支持(因为目前我就用了这个功能 ![]() 设置 编写和运行使用 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(); private ImageIcon getTrayIcon() { 这样就创建了一个托盘图标. TrayIcon 类(很不幸)目前对它与鼠标单击的交互方式进行了硬编码。TrayIcon 在鼠标左键单击时将触发 ActionEvent,而在鼠标右击时则显示弹出菜单。 它还允许 TrayIcon 显示 Windows 用户熟悉的"泡泡消息"。 单击示例应用程序的 Alert 按钮,就可以看到实际运用中的泡泡消息。以下是实现它的代码: //getBtnAlert()方法返回一个Button对象,方法略 JDesktop Integration Components弥补了在 Swing 和 Java 程序语言之间的主要差距。随着其他方面的不断努力,差距会进一步缩小,总有一天,用户会无法区分 Java 应用程序和本机应用程序.如果大家对它的其他功能有兴趣的话可以访问https://jdic.dev./ JDIC Project 的主页。 PS:最近严重的懒惰.Blog也很久没更新了,可能是天气的原因吧 |
|