【问题标题】:SWT SystemTray in OSXOSX 中的 SWT SystemTray
【发布时间】:2010-08-01 07:38:43
【问题描述】:

我正在尝试向我的 Snow Leopard Java 应用程序添加一个系统托盘图标,这似乎工作得很好。不幸的是,SWT 似乎没有将系统托盘图标与顶部菜单栏对齐,而是将它与我​​的鼠标单击的位置对齐

(例如http://kobyleha.com/files/azureus_2_250.png 而不是http://kobyleha.com/files/power_250.png ...我正在借用图片,因为这个网站描述了类似的问题) 自 3.3 以来,SWT 似乎一直存在问题。我想知道是否有人可以分享任何好的解决方法?

谢谢!

【问题讨论】:

  • 我对 SWT 一无所知,但对于初学者,您可以将弹出窗口的 y 坐标设置为 osx 菜单栏/托盘高度,据我所知,在大多数情况相同。
  • 知道如何与图标的 x 坐标对齐吗?
  • 另外,有什么方法可以在菜单打开时保持托盘图标突出显示/选中?
  • 您有什么理由没有在 Java 6 中选择 java.awt.SystemTray 吗?它在 OSX 上对我来说很好用。唯一的问题是 OSX 将所有托盘图标设为灰度。

标签: java macos swt system-tray


【解决方案1】:

我知道你问这个问题已经很久了,但here's 至少对我有用。

重要线是item.setToolTip(tip);,它将使气球与托盘项目对齐。

if (tray != null) {
    TrayItem item = new TrayItem(tray, SWT.NONE);
    image = display.getSystemImage(SWT.ICON_INFORMATION);
    item.setImage(image);
    tip.setText("Notification from a tray item");
    item.setToolTip(tip); // <<<-----
}

【讨论】:

    猜你喜欢
    • 2010-12-13
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多