我正在创建一个本质上是财务警报站点的应用程序。我是一名初级 Java 程序员,我已经为 Java 中的警报创建了一些逻辑。
每当发生“有趣”的事情时,我希望能够在桌面上显示弹出窗口(有趣取决于百分比变化、流动性和其他一些简单因素)。
实现这样的事情的最佳技术组合是什么?
我正在创建一个本质上是财务警报站点的应用程序。我是一名初级 Java 程序员,我已经为 Java 中的警报创建了一些逻辑。
每当发生“有趣”的事情时,我希望能够在桌面上显示弹出窗口(有趣取决于百分比变化、流动性和其他一些简单因素)。
实现这样的事情的最佳技术组合是什么?
我会在 Java SE 6 中使用java.awt.SystemTray。它是跨平台的并且非常易于使用。
尽管有些人讨厌 Windows 中的气球通知,但它们是最不显眼的弹出窗口,因为它们可以被用户忽略或很容易被忽略。最重要的是,离开计算机的用户不会错过它们,因为气球(至少在 Windows XP/Vista 中)使用系统空闲计时器来确定何时消失的正确时间。
有些人更喜欢更传统的 toast 通知,类似于 Outlook 显示的通知 - 它们会出现并慢慢淡出,让用户有时间在需要时与它们进行交互。
我遇到了同样的问题,最后使用未装饰的 alwaysOnTop 窗口解决了这个问题。
多亏了这篇博客文章,我找到了TimingFramework,现在它甚至是半透明的,淡入淡出,鼠标悬停时 100% 不透明等。结合 SystemTray 和 TrayIcon 的行为几乎与 Outlook 的行为一样。
哦,我必须注意,除了第二个链接之外,我使用淡出
AWTUtilities.setWindowOpacity(window, op);
您可以编写一个驻留在系统托盘中的 java 程序,但我不确定是否有跨平台兼容的方法来执行此操作。也许您必须为 Win、Mac、Linux 使用特定于平台的库,...
我只是创建一个消息窗口并为其设置动画。然后添加 SystemTray 支持,瞧,大功告成。
在 Delphi 中你可以很快地做到这一点,但你不能轻易地重用你的 java 逻辑
您可以在“静音”模式下运行程序,默认情况下不创建任何窗口,也许只是任务栏中的一个小图标,双击它会打开一个设置窗口。该程序将在后台运行,并在事件发生时创建具有设置焦点的窗口。
但在我看来,幻灯片窗口或至少一个气球工具提示是一个更好的主意。