Chmurka na pasku zadań

0

Witam
Robiliście może kiedyś chmurkę taka powiadamiającą która o jakiejś godzinie albo w wyniku jakiś sytuacji wyswietla się. Coś jak by info windowsowe odnosnie aktualizacji itp.

0

Kiedyś dawno temu cos podobnego pisalem, wklejam przyklad przeanalizuj sobie (to jest z wykorzystaniem natywnej biblioteki swt)

import java.sql.SQLException;
import java.util.TimerTask;

import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.ToolTip;
import org.eclipse.swt.widgets.Tray;
import org.eclipse.swt.widgets.TrayItem;

/** Klasa Notify - powiadomienia
 * @author ------------
 *
 */
public class Notify extends TimerTask{
        
        private Sql sql;
        private String login;
        
        public Notify(String login, Sql sql) {
                this.sql = sql;
        this.login = login;
         }
        /** Wyświetlenie powiadomień
         */
        @Override
        public void run()
        {   
                Display display = new Display();
            Shell shell = new Shell(display);
            Image image = null;
            ToolTip tip = new ToolTip(shell, SWT.BALLOON | SWT.ICON_INFORMATION);
            Tray tray = display.getSystemTray();
            TrayItem item = new TrayItem(tray, SWT.NONE);
            image = new Image(display, "icon.gif");
            item.setImage(image);
            tip.setText("Sen");
            tip.setMessage("Jeśli chcesz się wyspać powinieneś iść za 5 minut spać !!!");
            item.setToolTip(tip);
                boolean isEnabled = false;
                try {
                        isEnabled = sql.getPowiadomienia(login);
                } catch (SQLException e1) {
                        System.out.println("blad - nie moge pobrac ustawionego stanu powidomien z bazy");
                        e1.printStackTrace();
                }
                if(isEnabled)
        {
                        tip.setVisible(true);
        }
        }
}

A tu przyklad odpalenia

Calendar toBedC = Calendar.getInstance();
Notify notify = new Notify(this.core.getLogin(), this.sql);
Timer notifyT = new Timer();
notifyT.schedule(notify, toBedC.getTime());

1 użytkowników online, w tym zalogowanych: 0, gości: 1