我正在使用Java开发桌面应用程序。我想在系统托盘上放置一个图标(带有上下文菜单)(在Mac Os中称为Menu Extras)。Java
6附带了在Windows和Linux中执行此操作的支持,但在Mac Os中不起作用。
我已经看到某些应用程序在所有三个操作系统(例如DropBox)中都能实现我想要的功能,但是我不知道它们是否是用Java制成的。
我该如何实现?
如果用Java无法实现,那么是否还有其他跨平台语言可以做到这一点?
谢谢。
根据
文件
,OSX10.5 Update
1和较新的支持TrayIcon
小号
在Mac OS
X上,TrayIcons使用NSStatusMenus表示,这些菜单显示在标准系统菜单Extras的左侧。TrayIcon的java.awt.Image图稿按照Mac
OS X标准(菜单附加功能)以灰度显示。TrayIcon.displayMessage()展示了一个位于TrayIcon下的小型非模式对话框。仅当按下非模式对话框上的“确定”按钮时,才会触发TrayIcon的ActionListener,如果使用窗口关闭按钮关闭窗口,则不会触发该ActionListener。
多次调用TrayIcon.displayMessage()将关闭先前的消息,仅保留最后一条消息。如果在调用TrayIcon.displayMessage()时应用程序不在前台,则该应用程序会在Dock中反弹其图标。消息窗口带有应用程序图标的标记,以标识哪个应用程序触发了通知。
诺亚提供了以下示例:
java.awt.SystemTray.getSystemTray().add(new java.awt.TrayIcon(java.awt.Toolkit.getDefaultToolkit().getImage("foo.png")));
请注意,尽管如此,您可能需要先将菜单附加到该图标,然后再将其添加到托盘中。
根据 文档,SWT
3.3和更高版本在OSX上支持TrayItem图标。
在OS X上的状态栏中运行时,现在将显示放置在系统托盘上的图标。
此代码段显示了如何创建菜单和图标并将其放入任务栏。
将图标和上下文菜单添加到系统托盘。 进程: 主进程 Tray是一个[EventEmitter][event-emitter]. 1 const {app, Menu, Tray} = require('electron') 2 let tray = null 3 app.on('ready', () => { 4 tray = new Tray('/path/to/my/icon') 5 con
系统托盘 添加图标和上下文菜单到系统通知区 进程:主进程 Tray 是一个 EventEmitter. const { app, Menu, Tray } = require('electron') let tray = null app.on('ready', () => { tray = new Tray('/path/to/my/icon') const contextMenu =
我基于pyside2 和 qfluentwidgets写了一个python程序,其中包含了一个系统托盘,但是我遇到了一些问题,我的系统托盘的菜单总是显示在最下方,导致无法完整显示下面是效果和代码 希望有大佬能告知我这个位置怎么可以调整
系统托盘是应用程序窗口之外的菜单。 在MacOS和Ubuntu上,它位于屏幕的右上角。 在Windows上,它位于右下角。 我们可以使用Electron为系统托盘中的应用程序创建菜单。 创建一个新的main.js文件并将以下代码添加到其中。 准备好png文件用于系统托盘图标。 const {app, BrowserWindow} = require('electron') const url =
我已经设置了接收通知的代码,但它不起作用: 我用它在我的主要活动,我尝试了它,因为电话是待机。我该怎么解决?它需要其他代码吗?我遵循了以下指南:http://www.dre.vanderbilt.edu/~schmidt/android/android-4.0/out/target/common/docs/doc-comment-check/guide/topics/ui/notifiers/no
我正在使用Firebase云消息为Android做推送通知,一切都很顺利,但我在想系统托盘的图标颜色是怎么回事。它正在被变成一个灰度图像,而不是保持它原来的颜色。我可以用方法为它着色,但我希望图标不会失去它的颜色,这可能吗?我已经尝试使用各种不同的图像,有自己的大小,透明/非透明,白色背景等,基于一些帖子,我可以找到。我似乎找不到关于这里实际发生的事情的答案。我的编译/目标sdk目前是26。我在模