Un pulsante automatico

di il
8 risposte

Un pulsante automatico

Supponiamo di creare una classe che, utilizzando una jlabel e un button "add", visualizzi un numero incrementato da quest'ultimo tramite un metodo "refresh()"
Utilizzando questa classe per istanziare più oggetti e usando due button "start" e "stop", come si può simulare la pressione automatica dei button "add"?

Avevo pensato di risolvere usando un ciclo while che richiami il metodo "refresh()" di ogni istanza, ma dovrei creare un timer per rallentare l'esecuzione altrimenti non vedrei il numero aggiornarsi sulle label, ma non conosco altro che "Thread.sleep()" come metodo che sfortunatamente però congela la possibilità di premere "stop".

Vorrei sapere, da chi sa , quale o quali soluzioni, un linguaggio come java mette a dispozizione, per risolvere questo problema.

8 Risposte

  • Re: Un pulsante automatico

    Onestamente, non ho capito molto il nocciolo della questione. Ma se vuoi fare qualcosa ogni tot di tempo e questo "qualcosa" è quasi immediato e necessita anche di accedere alla UI, allora tipicamente basta javax.swing.Timer
  • Re: Un pulsante automatico

    andbin ha scritto:


    Onestamente, non ho capito molto il nocciolo della questione.
    La questione è che non ho idea di come rendere automatico un programma... Quali altri modi ho di "refreshare" l'applicazione?

    Tento di spiegarmi meglio:
    Ho un pulsante, intercetto la sua pressione e avvio un metodo refresh() che cambia il testo di una label.
    Ora l'evento lo genera il pulsante. e fin qui non ho nessun problema.

    Posso affiancare un timer per ogni pulsante? magari con diversi tempi senza che il pc ne risenta in fatto di pestazioni? oppure è meglio usare un'altro approccio?
  • Re: Un pulsante automatico

    Slomito ha scritto:


    La questione è che non ho idea di come rendere automatico un programma...
    Guarda il mio Cronometer
  • Re: Un pulsante automatico

    Ops ho omesso una parte di post..

    Se genero troppi eventi in un programma non rischio di rallentarlo?
    Stavo pensando ad un gioco in 3d dove un personaggio si muove su un piano, chi o cosa genera il continuo refresh di cio che si vede a video? non credo sia un timer, altrimenti dovrei aspettare ogni volta che venga eseguito tutto il codice, prima di compiere un'altra azione.
  • Re: Un pulsante automatico

    Slomito ha scritto:


    Stavo pensando ad un gioco in 3d dove un personaggio si muove su un piano, chi o cosa genera il continuo refresh di cio che si vede a video?
    Servono sicuramente altre tecniche, algoritmi, librerie/framework, ecc...

    E se già i tuoi dubbi sono ancora su come "automatizzare un programma" allora il mio consiglio è semplice: dimentica 3d, giochi, grafica animata, effetti, ecc...
    (almeno per un po')
  • Re: Un pulsante automatico

    Ecco... Grazie tocca studiare adesso..

    Ho dato una rapida occhiata al tuo lavoro e ho capito cosa hai fatto!

    Forse quello che mi manca è new runnable() mi aggiorno e faccio sapere.
  • Re: Un pulsante automatico

    Per automatizzare un programma lo so fare con altri linguaggi, java mi ha sempre affascinato per il fatto di "scrivi una volta ed esegui ovunque", ma è un linguaggio che a volte non si accomuna con altri ed ha regole e modi tutti suoi, quindi per un'autodidatta come me diciamo che è un po ostico, ma è anche ciò che più mi affascina e diverte.
    Poi c'è anche il fatto che non conosco tutte le classi e i metodi quindi a volte chiedo cosa sia meglio usare
  • Re: Un pulsante automatico

    Slomito ha scritto:


    java mi ha sempre affascinato per il fatto di "scrivi una volta ed esegui ovunque", ma è un linguaggio che a volte non si accomuna con altri ed ha regole e modi tutti suoi
    Beh, ogni linguaggio ha le sue regole di sintassi, i suoi concetti specifici, ecc... Ad esempio i generics di Java (5+) sono ben differenti come implementazione rispetto ai generics implementati in C#.
    Ma C++, Java, C# sono linguaggi "ad oggetti", quindi se conosci i fondamenti della OOP, a parte le differenze stilistiche/concettuali, non dovresti trovare grosse difficoltà.

    Slomito ha scritto:


    Poi c'è anche il fatto che non conosco tutte le classi e i metodi quindi a volte chiedo cosa sia meglio usare
    Per questo, a parte chiedere, basta leggere, leggere, leggere (su documentazione, tutorial, libri, ecc..). Ed esercitarti, esercitarti, esercitarti.
Devi accedere o registrarti per scrivere nel forum
8 risposte