Newsgroup: it.comp.java
Titolo: Problema eventi

Ciao,
ho creato della Applet che non funzionano con le versioni vecchie di
Netscape Navigator. Devo perň cercare di creare delle Applet il piů
possibile compatibili con tutti i browser. Io ho solo libri sugli eventi in
Java 2 e Java 1.1, ma devo andare ancora piů indietro, alla 1.02.
In particolare non mi riconosce l'evento MouseMotionListener, mi dice classe
inesistente. Dove trovo vecchi esempi con eventi "antichi"?
Grazie!
--
===========================
                    BiiO
--------------------------------------------
   Home page       
www.biio.it
--------------------------------------------
  1°  E-Mail           
bi...@biio.it
  2°  E-Mail    
fab...@tiscalinet.it
===========================

 inesistente. Dove trovo vecchi esempi con eventi "antichi"?
I Listener sono invenzioni del jdk1.1
Mi sembra che in ThinkingInJava ci sia anche la descrizione del
modello degli eventi pre-1.1, ma non ne sono sicuro.
Se vuoi un consiglio scaricati il jdk1.02 dal sito SUN: per essere
sicuro di rispettare la compatibilita` ti conviene compilare prima
con quello (...poi magari la versione definitiva lo ricompili con
un jdk piu` moderno, con meno bug, ma almeno sei gia` sicuro che
il codice sia portabile su ogni browser). Gli esempi allegati
al jdk sono una buona fonte: praticamente gli stessi dei jdk
1.1/.2/.3 ma con la gestione degli eventi "vecchia": se fai un
raffronto ti dovrebbe esser chiaro subito come funziona).
Non so` indicarti altri link da cui scaricare la documentazione, xo`
posso dirti qual'e` il succo del discorso (spero di ricordarmelo
giusto xche` sara` un annetto buono che non lo metto piu` in pratica):
- ogni Component gestisce i suoi eventi, direttamente e senza passare
  per Listener di sorta
- i metodi da ridefinire (ad esempio in una sottoclasse di Frame per
  intercettare la chiusura, di canvas per intercettare un click, ecc)
  sono definiti dunque in Component e sono principalmente due:
      handleEvent()
      action()
 
  handleEvent() e` quello "piu` generale". L'implementazione di default
  suddivide l'evento per "tipo" e richiama ad esempio action()
  sugli eventi "di azione" (gli altri tipi di evento non me li
  ricordo! ;). L'implementazione standard di action()
  a sua volta prevede lo smistamento degli eventi ad
  altri metodi di utilita` come ad esempio keyUp()/keyDown() per
  la tastiera, o mouseUp()/Down/Drag/Enter/Exit() per il mouse.
  Puoi intervenire al livello che vuoi ridefinendo direttamente
  handleEvent() o action() o ad esempio mouseDown() per intercettare
  il click del mouse. Per la pressione dei bottoni ad esempio e`
  una questione di gusti se lavorare con handleEvent o action e
  trovi esempi di tutti e due i casi. Per la gestione di mouse e
  tastiera e` senza dubbio piu` semplice (e chiaro poi da rileggere)
  lavorare con i metodi appositi.
  Cmq sia e` importante che ogni metodo ritorni un valore booleano:
  true se ha gestito l'evento. In caso contrario e` bene che
  restituisca il valore dello stesso metodo invocato sulla
  superclasse (restituire 'false' puo` essere un errore non da
  poco!).
Magari x iniziare (sempre che non abbia scritto castronerie!) ti basta...
Se guardi nella documentazione del jdk, cmq dovresti trovare qualche
indicazione in piu` (ovviamente se il jdk e` >= 1.1 saranno
segnati _tutti_ come deprecated)
-- 
Ciao, Matteo                         !!  It has to start somewhere
                                     /\  It has to start sometime
mailto:
matteo.mattia
 (at) 
libero.it
  \/  What better place than HERE
                                     　  What better time than NOW