标识壳上的SWT气球工具提示

时间:2014-09-03 18:15:26

标签: java swt system-tray

我正在使用openNotifi方法在托盘图标上创建气球工具提示,但是当shell被图标化时,它们也会最小化。如何显示通知工具提示,即使shell被图标化了?

    public void openNotifi() {      
    final ToolTip tip = new ToolTip(shell, SWT.BALLOON
            | SWT.ICON_INFORMATION);
    tip.setMessage("Here is a message for the user. When the message is too long it wraps. I should say something cool but nothing comes to my mind.");
    Tray tray = shell.getDisplay().getSystemTray();
    if (tray != null) {
        TrayItem item = new TrayItem(tray, SWT.NONE);
        ;
        tip.setText("Notification from a tray item");
        item.setToolTip(tip);
    } else {
        tip.setText("Notification from anywhere");
        tip.setLocation(100, 400);
    }
    tip.setVisible(true);
}

并通过

调用它
    Display.getDefault().syncExec(new Runnable() {
public void run() {
try {
    if (current_username != sender) {
        openNotifi();
    }
}
}
});

1 个答案:

答案 0 :(得分:0)

我创建了一个应用程序窗口(不可见,未打开)并从子窗口打开我的主shell,并创建工具提示作为非可见应用程序窗口的子窗口。我不知道它是否是真正的解决方案,但它现在有效。