Portál AbcLinuxu, 28. dubna 2024 21:11

Java na pozadi

11.10.2006 21:26 | Rady | poslední úprava: 11.10.2006 21:26

Zdravim vsechny pritomne.

Jiz nejakou dobu se snazim jakozto zacatecnik vytvorit nejakou Javskou aplikaci, jakou neni dulezite.

Jedna se mi ted o to jak resit nasledujici situaci, potreboval bych aby program bezel na pozadi, rekneme po startu pocitace, a pokud je splnena nejaka podminka, dejme tomu prekroceno jiste datum, byl by uzivatel patricne informovan.

A ted muj dotaz, jak to realizovat v jave, premyslel sem o jednoduchouckem vlakne, jez by bezelo pozadi a v pripade one udalosti by jen informovalo a uzivatel by se pak sam rozhodnul zda chce celou Swing aplikaci spustit nebo ne.

Je me jasne ze implementovat tohle v Jave neni zrovna to prave orechove ale dal sem se do Javy tak bych to chtel realizovat v ni.

Mateli tedy nejake rady prosim napiste je do diskuze, dekuji.

Jakekoliv pripominky vytany.

       

Hodnocení: 0 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

11.10.2006 21:33 venik | skóre: 2
Rozbalit Rozbalit vše Re: Java na pozadi
Odpovědět | Sbalit | Link | Blokovat | Admin
Na beh javovskych veci na pozadi jako sluzba pouzivam wrapper.tanukisoftware.org ma to primo i init skript, kterej staci nakopiravat na spravny mista a jede to v pohode.

Na interakci s gui bych pouzil nejlip dbus :)
pele avatar 11.10.2006 21:42 pele | skóre: 28 | blog: Bleabr | UH
Rozbalit Rozbalit vše Re: Java na pozadi
Bude i pote zachovana prenositelnost??
Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.
11.10.2006 21:43 venik | skóre: 2
Rozbalit Rozbalit vše Re: Java na pozadi
s tim wrapperem jo. s tim dbusem ne.
Snilard avatar 11.10.2006 22:26 Snilard | skóre: 3 | blog: Zápisky Ještěrky | Praha
Rozbalit Rozbalit vše Re: Java na pozadi
Odpovědět | Sbalit | Link | Blokovat | Admin
Jednou jsem si podobny programek psal. A jestli ti jde o to jak to fyzicky napsat, tak jsem to resil takle:
*do main jsem dal nekonecny cyklus
*na zacatky cyklu vlakno uspal na nejaky cas, zalezi na tobe jak to potrebujes presny
*pak stacilo zkontrolovat aktualni cas a kdyz byla ta spravna chvile, tak jsem vyhodil dialog...
Muj program jenom kricel, ze je pozde, takze po dialogu uz nic nenasledovalo, ale co tam das je na tobe :)
Jsem velký zlý itčko. Jestli budeš zlobit, dostaneš přednášku o Hilbertových prostorech.
Luk avatar 11.10.2006 22:44 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: Java na pozadi
Jde to řešit i jinak:
  • Vytvořit si okno aplikace, ale nechat ho schované.
  • V nějaké třídě implementovat ActionListener, který se použije pro reakci na událost.
  • Vytvořit časovač (javax.swing.Timer) a předat mu výše uvedený ActionListener, který ve správnou chvíli vytvoří příslušnou událost.
  • V reakci na událost (viz výše) zobrazit okno aplikace.
Tohle řešení mi připadá nejčistší.
Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
Snilard avatar 11.10.2006 23:05 Snilard | skóre: 3 | blog: Zápisky Ještěrky | Praha
Rozbalit Rozbalit vše Re: Java na pozadi
O cistote by se dalo spekulovat :)
Tvoje reseni mi prijde jako kanon na vrabce. Proc na tak jednoduchou vec tolik zatezovat system?
  • Vytvořit si okno aplikace, ale nechat ho schované.

Na beh oken je potreba nekolik vlaken a zere to pamet. Na co?
  • Vytvořit časovač (javax.swing.Timer) a předat mu výše uvedený ActionListener, který ve správnou chvíli vytvoří příslušnou událost.

Casovac je pekna vec, ale je to dalsi over head a navic, do nej vubec nevidis.
KEEP IT SIMPLE :)
Jsem velký zlý itčko. Jestli budeš zlobit, dostaneš přednášku o Hilbertových prostorech.
Luk avatar 11.10.2006 23:20 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: Java na pozadi
Jde o to, jak často se bude ono okno zobrazovat. Pokud to nebude úplně zřídka, tak vcelku nevadí, že se alokuje paměť. Naopak to bude rychlejší v okamžiku, kdy to okno bude potřeba.
Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
Snilard avatar 11.10.2006 23:26 Snilard | skóre: 3 | blog: Zápisky Ještěrky | Praha
Rozbalit Rozbalit vše Re: Java na pozadi
Tvoje argumenty jsou zdrcujici a mas pravdu :)
Muj programek byl tak jednoduchy, ze tohle bylo zbytecne, ale na neco vetsiho... Proc ne?
Jsem velký zlý itčko. Jestli budeš zlobit, dostaneš přednášku o Hilbertových prostorech.
pele avatar 12.10.2006 00:07 pele | skóre: 28 | blog: Bleabr | UH
Rozbalit Rozbalit vše Re: Java na pozadi

Moji predstavou bylo vytvoreni jednoducheho vlakna, ktere nebude delat nic jineho ze kazdy mesic (asi dva dny pred zacatkem noveho a pak po zacatku noneho mesice) zobrazi varovne okno ze je treba neco udelat a z tohoto okna bude mozno spustit celou aplikaci, a pak provest pozadovanou ulohu.

Predpokladam ze ten dialog jinak nebude muset vubec existovat, tzn. rezije bude spojena jen s behem vlakna na pozadi(maximalne inidikace nejakou systrey ikonou, nebo jak se to jmenuje)

Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.
Heron avatar 12.10.2006 07:37 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Java na pozadi
Měsíc? Nebyl by na to lepší cron a zněj si pak pustit tu hlášku?
pele avatar 12.10.2006 09:18 pele | skóre: 28 | blog: Bleabr | UH
Rozbalit Rozbalit vše Re: Java na pozadi
Jiste ze byl, ale potrebuju prenositelnost:-(
Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.
12.10.2006 11:26 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Java na pozadi
prenositeľnosť? java? hmm, windows scheduler majú, solaris aj linux majú cron. Prenositeľnejšie ako nejaká systémová služba. Plus ošetrenie rôznych chýb, no, radšej na serveri napísať skriptík, čo pošle email, to je prenositeľnejšie :-)
pele avatar 12.10.2006 11:30 pele | skóre: 28 | blog: Bleabr | UH
Rozbalit Rozbalit vše Re: Java na pozadi
Dobry napad, diky.
Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.
12.10.2006 09:26 Kníže Ignor | skóre: 19 | blog: stoupa
Rozbalit Rozbalit vše Re: Java na pozadi
Jak to tak čtu, tak cron by asi byl opravdu nejlepšejší. Pak by to teda bylo přenositelné jen na platformy, pro které existuje nějaká implementace cronu (sem ale patří i Windows).
Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
msk avatar 12.10.2006 09:04 msk | skóre: 27 | blog: msk
Rozbalit Rozbalit vše Re: Java na pozadi
No fujtajbl pcheeeeee. To ma ako mesiac ten hnusny java moloch zaberat polovicu fyzickej pamate a zrat procesor? Pridaj si zaznam do cronu, ktory vyhodi dane okno na display.
12.10.2006 11:29 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: Java na pozadi
do cron-u bude musieť pridať viac ako len záznam, navyše nemá zaručené, že grafické rozhranie je spustené, že je spustené práve jedno, že ho používa správny user, že má právo (a schopnosť) na ňom zobraziť okno/á ...
.. avatar 12.10.2006 13:24 .. | skóre: 4 | blog:
Rozbalit Rozbalit vše Re: Java na pozadi
A ta java to ma?
12.10.2006 13:51 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Java na pozadi
Java má všechno :-D
When your hammer is C++, everything begins to look like a thumb.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.