如何使用SWT使用带有系统托盘气球通知/工具提示的自定义图标?

时间:2011-09-20 19:46:43

标签: java swt jface

我想知道SWT / jface是否允许为应用程序系统托盘项目气球工具提示指定自定义图标(除了预定义的SWT.ICON_ERROR | SWT.ICON_INFORMATION | SWT.ICON_WARNING)?我想做点什么:

ToolTip tip = new ToolTip(shell, SWT.BALLOON);
tip.setText("Notification from a tray item");
tip.setMessage("Here is a message for the user.");
tip.setIcon("/path/to/custom/icon");
trayItem.setToolTip(tip);

我知道ToolTip clas没有setIcon()方法。有没有其他方法来实现这一目标?这对于应用程序级别的通知等非常有用。谢谢!

1 个答案:

答案 0 :(得分:0)

本文可能会对您SWT: Tray Icons and Tooltips提供帮助。

修改

这是不可能的,这些图像是从OS获得的,无法替换。您调用的setImage()方法是Tooltip父方法之一,Tooltip类完全忽略该图像。

请参阅source codes for Tooltip SWT class并查看public void setVisible (boolean visible)方法(几乎在最后),在那里您可以看到获得这些图片图标的位置。

SWT团队可能会很好feature request

<强> EDIT2

关于Custom Tooltip in Eclipse 3.1 RCP applications的文章可能会回答您的问题。他使用来自Novocode toolkit的自定义SWT控件,检查BalloonWindow(一个创建气球弹出窗口的Shell包装器)。