Porównanie daty określonej z datą aktualną. PROSZE O POMOC

0

Witam. Mam problem, nie wiem jak zrobić by podczas działania mojego programu (terminarz) program co minute sprawdzał czy powiadomienie ktore dodałem tzn date i godzine zgadzało sie z aktualną datą, chodzi mi po prostu o to ze jak dodam date i godzine do terminarza to zeby pozniej porownywal co minute date aktualną z tą datą ustaloną przeze mnie i jak obie bedą sobie równe to zeby wyskoczyło okienko np. JOptionPane z wiadomoscią ze daty sie zgadzają i np. przypominam o "wlasnie zaczął sie film na TVN"

Z góry dzieki za pomoc

0

Zainicjuj timer.

0

tzn ? co masz na mysli ?

0

Przykładowo:

final Time timer = new Timer();
timer.schedule(new TimerTask() {
         public void run() {
                if(KevinJużTrwa())
               KevinSięJużZacząłAlarm();
          }
},5000);
0

KevinJuzTrwa to chodzi Ci o porownanie aktualnej daty z datą którą podał uzytkownik tak ?

0

No na przykład, to tylko przykładowa implementacja.
Jeśli zaszło jakieś zdarzenia co 5 s jest wykonywana przypomnienie (np.jakieś zdarzenie dźwiękowe).

0

Ja miałem na mysli coś takiego

GregorianCalendar waznaData=....;
javax.swing.Timer timer=new javax.swing.Timer(1000*60,new ActionListener()
{
       public void actionPerformed(ActionEvent evt)
       {
               GregorianCalendar teraz=new GregorianCalendar();
               if(waznaData mało sie różni od teraz)
                     JOptionPane.showMessageDialog(this,"koniec pracy");
       }
 });
timers.start();
0

wszystko ładnie smiga tylko ze jest problem, ja uzywam Designa a tam jakos nie moge importowac java.util.Timer, program sam zaimportowal javax.swing.Timer - niech ktos teraz poda jak jego zastosowac... najprosciej przerobcie mi to na timer swingowy i reszte sam dojde

class MyTimerTask extends TimerTask
{
public void run()
{
final DateFormat formatCzasu = DateFormat.getTimeInstance();
final Date teraz = new Date();
System.out.println(formatCzasu.format(teraz));
}
}

public class Main {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here

Timer timer1 = new Timer();
MyTimerTask timer1_task = new MyTimerTask();
timer1.schedule (timer1_task, 0, 1000);
    

}

}

ps. JAK WIADOMO W DESIGNIE nie ma czegos takiego tzn nie mamy dostepu jak MAIN.. wiec tylko to w klasie robie

0

Przecież ci napisałem jak się uruchamia javax.swing.Timer.

0

fakt nie zauwazylem :P jeszcze jedno pytanko w tym java.util.timer jako drugi parametr jest czas rozpoczecia a trzeci to co ile ma sie powtarzac, a czy w javax.swing.timer mozna jakos ustawic rozpoczecie czy tylko co ile ma powtarzac?

i chcialem spytac bo jak robie cos takiego:
Date data = new Date();
Date data2 = new Date(2009,4,3,1,0);
System.out.println(data);
System.out.println(data2);

to dostaje takie wyniki :

Tue May 12 0248 CEST 2009
Mon May 03 0100 CEST 3909

czemu te CEST sie roznią ?:| jak zrobic by wskazywaly ten sam rok ?

0
  1. metoda setInitialDelay(int milisekundy)
  2. konstruktor Date(year,month,...) jest

deprecated
jeżeli jesteś do niego bardzo przywiązany, to inaczej przekazuj rok (odejmuj 1900).

GregorianCalendar d2=new GregorianCalendar();
d.set(2009,4,3,1,0);
System.out.println(d2.getTime()); //Sun May 03 01:00:04 CEST 2009

P.S. naucz się korzystać z dokumentacji

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