Вы можете использовать всплывающую подсказку как уведомление, которое появится в панели задач на панели задач.Ниже приведен фрагмент кода, который вы можете попробовать.В окнах он появляется как маленькое черное всплывающее окно в правом нижнем углу.Я предоставил кнопку только для симуляции.Вы можете реализовать по-своему, когда закончится фоновая длительная задача.
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.ToolTip;
import org.eclipse.swt.widgets.Tray;
import org.eclipse.swt.widgets.TrayItem;
public class ToolTipBalloon {
public static void showNotificationPopup(Shell shell) {
ToolTip tip = new ToolTip(shell, SWT.BALLOON | SWT.ICON_INFORMATION);
tip.setMessage("Your Notification Message");
Display display = shell.getDisplay();
Tray tray = display.getSystemTray();
if (tray != null) {
TrayItem item = new TrayItem(tray, SWT.NONE);
// Image image = new Image(display, "yourFile.gif");
// item.setImage(image);
tip.setText("Notification from a Windows Tray");
item.setToolTip(tip);
} else {
tip.setText("Notification from anywhere");
tip.setLocation(400, 400);
}
tip.setVisible(true);
}
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
// To simulate notification
Button notifyBtn = new Button(shell, SWT.PUSH);
notifyBtn.setText("Press for Notification");
notifyBtn.addListener(
SWT.Selection,
new Listener() {
public void handleEvent(Event event) {
showNotificationPopup(shell);
}
});
notifyBtn.pack();
shell.setBounds(50, 50, 200, 100);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
}
}