如何用java检测系统托盘的位置?

如何用java检测系统托盘的位置?,java,user-interface,system-tray,Java,User Interface,System Tray,我必须用java检测systemTray的位置。我已经在托盘中放置了一个图标,但不知道是否有可能获得该图标的位置 致意 Hemeroc不,API不提供该功能。你认为你为什么需要它,你到底想实现什么?不,API不提供这种功能。你为什么认为你需要这些,你到底想达到什么目的?我也有类似的问题。我想在右键单击托盘图标时显示一个弹出窗口,而在单击它时没有窗口。(我仍在调查是否可以使用默认的弹出菜单)。 因此,当单击图标时,我检测到了鼠标在屏幕上的位置(鼠标事件的属性),并在那里显示了我的弹出菜单。我遇到了

我必须用java检测systemTray的位置。我已经在托盘中放置了一个图标,但不知道是否有可能获得该图标的位置

致意


Hemeroc不,API不提供该功能。你认为你为什么需要它,你到底想实现什么?

不,API不提供这种功能。你为什么认为你需要这些,你到底想达到什么目的?

我也有类似的问题。我想在右键单击托盘图标时显示一个弹出窗口,而在单击它时没有窗口。(我仍在调查是否可以使用默认的弹出菜单)。
因此,当单击图标时,我检测到了鼠标在屏幕上的位置(鼠标事件的属性),并在那里显示了我的弹出菜单。

我遇到了类似的问题。我想在右键单击托盘图标时显示一个弹出窗口,而在单击它时没有窗口。(我仍在调查是否可以使用默认的弹出菜单)。
因此,当点击图标时,我检测到了鼠标在屏幕上的位置(鼠标事件的属性),并在那里显示了我的弹出菜单。

我知道没有API函数可以做到这一点,这就是我要求“黑客”的原因。linux中有一个透明图标的bug:如果你在系统托盘中放置一个透明图标,它将得到一个灰色背景。因此,我将尝试检测系统托盘的颜色,并将图标的背景色设置为系统托盘的颜色。示例:还有一个关于该问题的错误报告:(自2006年以来一直没有解决过!)@Hemeroc:好吧,您可以使用java.awt.Robot制作屏幕截图并尝试找到系统托盘。但我认为,与其构建一个复杂的解决方案,还不如尝试修复这个bug。谁说系统托盘的背景是单色的?我曾经遇到过一个更实际的用法。。我有一个窗口以动画方式最小化到系统托盘。当然,您需要知道系统托盘的位置。我找不到解决方案,所以我选择了屏幕右下角,因为这将覆盖90%的情况。。。我很想看看是否找到了解决方案……我知道没有API函数可以做到这一点,这就是为什么我要求“黑客”的原因。linux中有一个透明图标的bug:如果你在系统托盘中放置一个透明图标,它将得到一个灰色背景。因此,我将尝试检测系统托盘的颜色,并将图标的背景色设置为系统托盘的颜色。示例:还有一个关于该问题的错误报告:(自2006年以来一直没有解决过!)@Hemeroc:好吧,您可以使用java.awt.Robot制作屏幕截图并尝试找到系统托盘。但我认为,与其构建一个复杂的解决方案,还不如尝试修复这个bug。谁说系统托盘的背景是单色的?我曾经遇到过一个更实际的用法。。我有一个窗口以动画方式最小化到系统托盘。当然,您需要知道系统托盘的位置。我找不到解决方案,所以我选择了屏幕右下角,因为这将覆盖90%的情况。。。我很想看看是否能找到解决办法。。。