Take zdravim, >nevie mi nahodou niekto poratit, potrebujem zachytit udalost z mysi (ci uzivatel slacit tlacidlo alebo ci pohol >myskou). Samozrejme zachytit udalost nad JFrame alebo inym komponentom viem. Ja to potrebujem, na zistenie, ci >uzivatel stale pracuje s PC. Udalosti z klavesnice nad beziacim programom mam odchytene (KeyEventDispatcher - >see code), chyba mi uz len udalosti v mysi.
Predpokladam, ze odchytit udalost mysi nekde jinde v systemu v AWT/Swingu neni mozne. Nevim o API, ktere by to umoznovalo, snad jen napsat DLL, ktere by se dalo volat pomoci JNI. >Pripadne da sa aj inym sposobom z jedneho miesta v programe zistit ci uzivatel pracuje s programom alebo nie. >Potrebujem to koli ochrane programu. Ak uzivatel nepracuje s programom dlhsi cas (napr. 5 min.), automaticky sa >zamkne. Co treba takhle: Odchytit windowActivated (@see WindowListener) udalost a v ten cas si spustit Timer(java.util.Timer popr. javax.swing.Timer @see http://java.sun.com/docs/books/tutorial/uiswing/misc/timer.html) nastaveny na 5 minut? Po 5ti minutach by doslo k zamknuti. Pri opetovne aktivaci okna by se pripadne tento timer zastavil... Snad to pomuze Vity ----- Original Message ----- From: "P D" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Tuesday, September 27, 2005 11:05 AM Subject: MouseEvent problem Zdravim nevie mi nahodou niekto poratit, potrebujem zachytit udalost z mysi (ci uzivatel slacit tlacidlo alebo ci pohol myskou). Samozrejme zachytit udalost nad JFrame alebo inym komponentom viem. Ja to potrebujem, na zistenie, ci uzivatel stale pracuje s PC. Udalosti z klavesnice nad beziacim programom mam odchytene (KeyEventDispatcher - see code), chyba mi uz len udalosti v mysi. Pripadne da sa aj inym sposobom z jedneho miesta v programe zistit ci uzivatel pracuje s programom alebo nie. Potrebujem to koli ochrane programu. Ak uzivatel nepracuje s programom dlhsi cas (napr. 5 min.), automaticky sa zamkne. ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- --------- public class NewClass { public static void main(String argv[]) { final JDialog dial = new JDialog(); final KeyEventDispatcher vKED = new KeyEventDispatcher() { public boolean dispatchKeyEvent(KeyEvent e) { if (e.getID() == KeyEvent.KEY_PRESSED) { final String vKey = KeyEvent.getKeyText(e.getKeyCode()); if (vKey.compareTo("Escape")==0) { if (dial!=null) {dial.dispose();} } if (vKey.compareTo("Enter")==0) { System.out.println("Stlacil si Enter"); } }return false;}}; KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher( vKED); dial.show(); } } ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- --------- filip Aktivujte si neobmedzenu mailovu schranku na www.pobox.sk!
