- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 java.awt.SystemTray
创建和管理托盘图标和气球消息。一切正常。
但是我想知道消息显示后是否可以关闭或淡出。
此时,用户需要点击气球或将其关闭,否则消息不会消失。
最佳答案
我不确定其他平台,但在 Windows 上,消息只会在机器正在使用时消失 - 即如果用户正在键入内容或移动鼠标。如果您不移动鼠标或键入任何内容,消息将保留在原处。
以下代码为我显示了一条消息。如果我移动鼠标,它会在大约 5 秒后消失。如果我不这样做,它会一直存在,直到我移动鼠标或输入内容时,它才会消失。
final TrayIcon ti = new TrayIcon(XTPSkin.getInstance().getAppIcon().getImage());
final SystemTray st = SystemTray.getSystemTray();
st.add(ti);
ti.displayMessage("foo", "bar", MessageType.INFO);
没有直接的方法可以在时间结束之前删除消息 - 但是,您可以删除 TrayIcon
(如果需要,立即重新添加它,尽管不推荐这样做)。删除 TrayIcon
会导致消息也被删除。
添加到上面的以下代码会导致 TrayIcon
和消息都被删除:
SwingUtilities.invokeLater(new Runnable(){
public void run() {
try {
Thread.sleep(1000); // Don't do this
st.remove(ti);
} catch (InterruptedException ie) {
// You won't need this when the sleep is removed
}
}
});
注意事项:
AWTException
的一些异常处理来包装上面的第一 block 代码Thread.sleep
仅用于演示目的。由于此代码将在 AWT 线程上执行,您不应该在实际代码中包含该 hibernate 。TrayIcon
可能不是一个好主意。如果用户正在使用机器,消息确实会消失,因此最好不要这样做。关于java - 以编程方式关闭 Java 托盘气球,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7527776/
我想在同一运行时间内拥有多种货币。默认节点模板中插入了 Balances 托盘,但如果我正确的话,它只能处理一种货币。 如何多次重复使用托盘? 最佳答案 Pallet 可以实例化,这样您就可以在同一运
我正在尝试使用一段代码打开和关闭计算机的 CD 托盘。我一直在使用 MCI 命令,并将 winmm.lib 包含在我的项目配置的附加依赖项中。我还包含了 windows.h 和 mmsystem.h。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我正在使用electron-react-boilerplate开发 Electron 应用程序(使用electron-builder打包应用程序)。 我想创建托盘,但是它需要图标路径或 native
有没有办法选择在 Java 中打印时使用哪个出纸盒/托盘?有一个属性 MediaTray 允许您选择输入托盘,但我找不到允许您选择输出的属性。 最佳答案 除了MediaTray , 有一个 Desti
我是一名优秀的程序员,十分优秀!