gpt4 book ai didi

java - 如何获取 SWT Tray 或 TrayItem 位置

转载 作者:搜寻专家 更新时间:2023-10-31 20:23:10 26 4
gpt4 key购买 nike

关于如何使用 SWT 获取系统托盘 (Tray) 或其上的项目 (TrayItem) 的位置的任何想法?从显示器获取边界只会给我整个屏幕的边界。即

item.getDisplay().getBounds();

会在我的 Windows 机器上给我 (0, 0, 1024, 1024)。

我还想知道系统托盘的位置(左、右、上、下),但大概可以猜测给定的位置。 这就是我可以在系统托盘附近弹出消息的全部内容

这是此 post 的副本但我想提供赏金(因此控制我认为正确的答案)。

最佳答案

如果您只想在托盘项目附近显示一个 shell 来响应用户事件(就像我的情况一样)。您可以在托盘项目上触发事件时获取指针位置:

trayItem.addSelectionListener (new SelectionListener () {
@Override public void widgetDefaultSelected (SelectionEvent aEvent) {
widgetSelected (aEvent);
}

@Override public void widgetSelected (SelectionEvent aEvent) {
if (mWindow.isVisible ()) {
Shell wnd = mWindow;
mWindow = new Shell (mDisplay);
wnd.close ();
}
else {
mWindow.setLocation (mDisplay.getCursorLocation ());
mWindow.open ();
}
}
});

您可以找到完整的源代码here .

如果您想通知一些其他事件(不是由用户输入生成的),我想您最好的选择是使用工具提示,正如 Sandman 在之前的回答中指出的那样。

祝你好运!!!

关于java - 如何获取 SWT Tray 或 TrayItem 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6452565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com