Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-07-2003, 20:01   #1
Lancill
Member
 
L'Avatar di Lancill
 
Iscritto dal: Aug 2001
Città: Avalon
Messaggi: 175
[JAVA] Lanciare e Gestire eventi personalizzati

Ciao a tutti, sto studiando la gestione degli eventi in java 2, ma non mi è chiaro come fare per generare un evento personalizzato.
Faccio un esempio: ho un Timer che fa il countdown; quando arriva a 0 o ad un valore prestabilito vorrei lanciare un evento... come si fa?

Grazie mille in anticipo!
__________________
Lancill
Ho felicemente trattato con: MAURIZIO81 e Nd1966
Blog: D&R s Java
Lancill è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2003, 23:14   #2
monkey72
Senior Member
 
L'Avatar di monkey72
 
Iscritto dal: Dec 2001
Messaggi: 1385
approfitto per chiedere... ma l'utilizzo di eventi nella programmazione guidata da eventi non implica che ci sia l'attesa da parte del programma di un evento provocato dall'utente? quale ad esempio la pressione di un pulsante, chiusura di una finestra....
nel tuo caso non c'è l'attesa di un'azione dell'utente...
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km"
monkey72 è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2003, 23:28   #3
Lancill
Member
 
L'Avatar di Lancill
 
Iscritto dal: Aug 2001
Città: Avalon
Messaggi: 175
no, anche se la maggior parte degli eventi viene generata da interfaccia utente, un evento può essere generato da qualunque oggetto... di questo ne sono certo.
Il problema è come fare a generarlo se non è un evento standard di java

...speriamo che qualcuno mi illumini!
__________________
Lancill
Ho felicemente trattato con: MAURIZIO81 e Nd1966
Blog: D&R s Java
Lancill è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2003, 08:53   #4
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Puoi generare tu un evento usando la classe ActionEvent e passandolo all'actionPerformed...

tuoOggetto.actionPerformed(new ActionEvent(...) );
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2003, 14:15   #5
Lancill
Member
 
L'Avatar di Lancill
 
Iscritto dal: Aug 2001
Città: Avalon
Messaggi: 175
forse sto iniziando a capire, ma non è che mi potresti fare un esempio pratico un po' più dettagliato? Te ne sarei ultra-grato!
__________________
Lancill
Ho felicemente trattato con: MAURIZIO81 e Nd1966
Blog: D&R s Java
Lancill è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2003, 16:27   #6
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
posta tu un po' di codice e poi vediamo...
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2003, 21:16   #7
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
Se ti interessa ho un esercitazione che ho fatto nel corso di fondamenti di informatica all'universita. spiega proprio su come generare degli eventi personalizati. la posso mettere da qualche parte e darti un link.

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2003, 21:26   #8
roby1483
Senior Member
 
L'Avatar di roby1483
 
Iscritto dal: Apr 2000
Città: S.Croce s/Arno - Pisa - Toscana
Messaggi: 1015
Quote:
Originariamente inviato da VICIUS
Se ti interessa ho un esercitazione che ho fatto nel corso di fondamenti di informatica all'universita. spiega proprio su come generare degli eventi personalizati. la posso mettere da qualche parte e darti un link.

ciao
A me interesserebbe .
__________________
Il mio album su Flickr :: Video Laurea Honoris Causa ad Alan Kay, Universita' di Pisa :: Thinking Different, PowerBook G4 12" 1GHz, iMac Core 2 Duo 20"
roby1483 è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2003, 21:38   #9
Lancill
Member
 
L'Avatar di Lancill
 
Iscritto dal: Aug 2001
Città: Avalon
Messaggi: 175
certo che mi interessa, anche se mi sto sforzando di creare qualcosa da solo e forze ci sto riuscendo, ma un aiuto mi velocizzerebbe molto le cose!
se vuoi puoi mandarmelo anche in email!

Grazie mille...
cmq se riesco a creare qualcosa di buono posto tutto il codice qui così chi si trova nella mia condizione impara qualcosa di nuovo
__________________
Lancill
Ho felicemente trattato con: MAURIZIO81 e Nd1966
Blog: D&R s Java
Lancill è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2003, 21:51   #10
VICIUS
Senior Member
 
L'Avatar di VICIUS
 
Iscritto dal: Oct 2001
Messaggi: 11471
visto che interessa a piu persone posto un link:
http://utenti.lycos.it/ilgrandepuffo...itazione06.rar

spero che vi possa essere utile.

ciao
VICIUS è offline   Rispondi citando il messaggio o parte di esso
Old 22-07-2003, 23:48   #11
Lancill
Member
 
L'Avatar di Lancill
 
Iscritto dal: Aug 2001
Città: Avalon
Messaggi: 175
Grazie VICIOUS, mi hai dato una buona mano a capire una parte su cui avevo ancora molti dubbi, il mio cammino verso il completo dominio degli eventi è iniziato

cmq ho trovato anche su internet un documento molto chiaro sugli eventi personalizzati:
http://mokabyte.infomedia.it/1999/05/swing_4.htm
__________________
Lancill
Ho felicemente trattato con: MAURIZIO81 e Nd1966
Blog: D&R s Java
Lancill è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2003, 15:02   #12
Lancill
Member
 
L'Avatar di Lancill
 
Iscritto dal: Aug 2001
Città: Avalon
Messaggi: 175
Vi posto il mio risultato finale, una semplice classe Timer che genera un evento TimerEvent quando lo decido io!
L'unica domanda: la classe Timer può andar bene come JavaBean?

la classe Main
Codice PHP:
public class MainTimer {
  public static 
void main(String[] args) {

    
Timer t = new Timer();
    
//creo una classe interna anonima TimerListener
    
t.addTimerListener(new TimerListener() {
      public 
void onTimer(TimerEvent te){
        
System.out.println("Timer = "te.getDelay());
      }
    });
    
t.start();
  }


la classe Timer
Codice PHP:
import java.io.Serializable;
import java.util.*;


public class 
Timer implements SerializableRunnable{

  private 
TimerGuardian timerGuardian;
  private 
int timeOutnoOfTimeouttime;
  private 
Thread th;


  public 
Timer(){
    
this(1000100);
  }

  public 
Timer(int toint noto){
    
timeOut to;
    
noOfTimeout noto;
    
th null;
    
timerGuardian = new TimerGuardian(this);
  }

  public 
int getTimeout(){
    return 
timeOut;
  }

  public 
void setTimeout(int t){
    
timeOut t;
  }

  public 
int getNoTimeout(){
    return 
noOfTimeout;
  }

  public 
void setNoTimeout(int t){
    
noOfTimeout t;
  }

  
//il run del thread che deve generare
  
public void run(){
    
int i;
    for(
0noOfTimeoutnoOfTimeout--){
    {
        try{
          
th.sleep(timeOut);
          
//quando arrivo a novanta stoppo e lancio un TimerEvent
          
if(noOfTimeout == 90stop();
          
System.out.println(noOfTimeout);

        } catch (
Exception e) {}

        }
    }
    
timerGuardian.fireTimerEvent(0);
  }

  
//comandi di start e stop
  
public void start(){
    if(
th == null){
      
th = new Thread(this);
      
th.start();
    }
  }

  public 
void stop(){
    if(
th != null){
      
timerGuardian.fireTimerEvent(noOfTimeout);
      
th.stop();
      
th null;
    }
  }

  public 
void addTimerListener(TimerListener tl){
    
timerGuardian.addTimerListener(tl);
  }

  public 
void removeTimerListener(TimerListener tl){
    
timerGuardian.removeTimerListener(tl);
  }


la classe TimerEvent
Codice PHP:
import java.util.*;

public class 
TimerEvent extends EventObject{

  private 
int delay;

  public 
TimerEvent(Object sorgente){
      
this(sorgente0);
  }

  public 
TimerEvent(Object sorgenteint delay){
      
super(sorgente);
      
this.delay delay;
  }

  public 
int getDelay(){
    return 
delay;
  }


la classe TimerGuardian
Codice PHP:
import java.util.*;

public class 
TimerGuardian {

private 
Object sorgente;
private 
Vector listeners;

  public 
TimerGuardian(Object sorgente){
    
this.sorgente sorgente;
    
listeners = new Vector();
  }

  public 
void addTimerListener(TimerListener tl){
    
listeners.addElement(tl);
  }

  public 
void removeTimerListener(TimerListener tl){
    
listeners.removeElement(tl);
  }

  public 
void fireTimerEvent(int delay){
    
TimerEvent timev = new TimerEvent(sorgentedelay);


  
Vector copia_listeners = new Vector();
  
synchronized(listeners){
    
copia_listeners = (Vector) (listeners.clone());
  }
  for(
int i=0copia_listeners.size(); i++)
    ((
TimerListener) (copia_listeners.elementAt(i))).onTimer(timev);
  }


e infine l'interfaccia TimerListener
Codice PHP:
import java.util.EventListener;

public interface 
TimerListener extends EventListener{

  public 
void onTimer(TimerEvent timEv);


__________________
Lancill
Ho felicemente trattato con: MAURIZIO81 e Nd1966
Blog: D&R s Java

Ultima modifica di Lancill : 23-07-2003 alle 15:07.
Lancill è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2003, 15:13   #13
Lancill
Member
 
L'Avatar di Lancill
 
Iscritto dal: Aug 2001
Città: Avalon
Messaggi: 175
"Timer.java": stop() in java.lang.Thread has been deprecated at line 68, column 10

Il programma funziona solo non capisco perchè mi da questo warning?
Se è stato reso obsoleto stop() che bisogna usare al suo posto?
__________________
Lancill
Ho felicemente trattato con: MAURIZIO81 e Nd1966
Blog: D&R s Java
Lancill è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2003, 15:57   #14
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Ma usare la documentazione no, eh??

stop() non è più considerato sicuro... erano molte le disfunzioni ai programmi che venivano fuori...
Dai un occhio qui:
Why Are Thread.stop, Thread.suspend, Thread.resume and Runtime.runFinalizersOnExit Deprecated?
Spiega perchè sè stato deprecato e come ovviare (mettendo il thread a null).

Poi mi spieghi come hai scritto quel codice senza guardare la doc delle API...
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2003, 15:58   #15
monkey72
Senior Member
 
L'Avatar di monkey72
 
Iscritto dal: Dec 2001
Messaggi: 1385
Quote:
Originariamente inviato da Lancill
Se è stato reso obsoleto stop() che bisogna usare al suo posto?
http://java.sun.com/j2se/1.4.2/docs/...precation.html

l'articolo dice che l'uso non è sicuro ma che non si usa niente al suo posto ma da degli esempi su come aggiungere al codice variabili che indichino che il thread deve essere terminato.
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km"

Ultima modifica di monkey72 : 23-07-2003 alle 16:14.
monkey72 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2003, 16:00   #16
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Quote:
Originariamente inviato da monkey72
http://java.sun.com/j2se/1.4.2/docs/...ion.html<br />
l'articolo dice che l'uso non è sicuro ma che non si usa niente al suo posto ma da degli esempi su come aggiungere al codice variabili che indichino che il thread deve essere terminato.
Il tuo link non porta a nulla... Come sarebbe che non si usa niente????
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2003, 16:01   #17
monkey72
Senior Member
 
L'Avatar di monkey72
 
Iscritto dal: Dec 2001
Messaggi: 1385
Quote:
Originariamente inviato da cn73
Ma usare la documentazione no, eh??

stop() non è più considerato sicuro... erano molte le disfunzioni ai programmi che venivano fuori...
dai un occhio qui:
Why Are Thread.stop, Thread.suspend, Thread.resume and Runtime.runFinalizersOnExit Deprecated?

Poi mi spieghi come hai scritto quel codice senza guardare la doc delle API...
cn73 nello stesso istante praticamente!!!!
lo vorrei sapere anch'io come lo ha scritto il codice
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km"
monkey72 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2003, 16:08   #18
monkey72
Senior Member
 
L'Avatar di monkey72
 
Iscritto dal: Dec 2001
Messaggi: 1385
Quote:
Originariamente inviato da cn73
Il tuo link non porta a nulla... Come sarebbe che non si usa niente????
come non porta a nulla, porta dove porta il tuo, l'ho postato male?
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km"
monkey72 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2003, 16:10   #19
monkey72
Senior Member
 
L'Avatar di monkey72
 
Iscritto dal: Dec 2001
Messaggi: 1385
si, l'ho postato male cmq era lo stesso articolo che hai postato tu
__________________
lui è il mio amore: "tesò domani ti regalo un guinzaglio lungo 100 km"
monkey72 è offline   Rispondi citando il messaggio o parte di esso
Old 23-07-2003, 16:15   #20
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Ottimo!
cn73 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
Rocket Lab acquisisce Iridium: nasce un ...
Una ventola nascosta e un design fuori d...
Display e fotocamera insieme: a Zurigo n...
Lenovo Idea Tab Plus, il tablet per stud...
Un ingegnere di AMD ha riprodotto in cas...
SanDisk Optimus cresce con nuovi SSD cer...
Loongson contro Intel e AMD: dalla Cina ...
Australia, quasi tutti gli under-16 aggi...
Oltre 1.300 miliardi di dollari per la p...
Un nuovo studio mette in dubbio la natur...
Crisi Volkswagen, torna l'ipotesi cessio...
Il CERN spegne il Large Hadron Collider:...
Stranger Than Heaven avrà una storia mol...
Il futuro prezzo di PS6 preoccupa i gioc...
AMD Ryzen 10000 sempre più vicini...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:11.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v