Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-06-2007, 09:31   #1
Pro7on
Senior Member
 
L'Avatar di Pro7on
 
Iscritto dal: Jun 2005
Città: CH
Messaggi: 1058
Java Tempo

come posso fare una specie di cronometro dove i numeri cambiano ogni secondo graficamente in JavaSwing?
__________________
My_Site|| My Work CPU || MY I MOD

Ultima modifica di Pro7on : 13-06-2007 alle 10:00.
Pro7on è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2007, 10:48   #2
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Pro7on Guarda i messaggi
come posso fare una specie di cronometro dove i numeri cambiano ogni secondo graficamente in JavaSwing?
Prova questo codice che ho appena scritto .... nulla di eccezionale eh! ma almeno ti può essere utile per capire meglio Swing. (e poi non dite che non aiuto o che dò risposte ineleganti!!).

Requisiti: Java 5 o superiore.

Codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Cronometro
{
    private JFrame frame;
    private JLabel labelTime;
    private JPanel panelButtons;
    private JButton buttonStart;
    private JButton buttonStop;
    private Timer timer;
    private long startTime;

    public Cronometro ()
    {
        frame = new JFrame ("Cronometro");
        frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
        frame.setSize (220, 140);

        labelTime = new JLabel ();
        labelTime.setFont (new Font ("SansSerif", Font.BOLD, 30));
        labelTime.setHorizontalAlignment (JLabel.CENTER);
        labelTime.setText ("0:00:00.0");

        buttonStart = new JButton ("START");
        buttonStop = new JButton ("STOP");
        buttonStop.setEnabled (false);

        panelButtons = new JPanel (new GridLayout (1, 2));
        panelButtons.add (buttonStart);
        panelButtons.add (buttonStop);

        frame.add (labelTime, BorderLayout.CENTER);
        frame.add (panelButtons, BorderLayout.SOUTH);

        timer = new Timer (50, new ActionListener () {
            public void actionPerformed (ActionEvent e) {
                long diffTime = System.currentTimeMillis () - startTime;

                int decSeconds = (int) (diffTime % 1000 / 100);
                int seconds = (int) (diffTime / 1000 % 60);
                int minutes = (int) (diffTime / 60000 % 60);
                int hours = (int) (diffTime / 3600000);

                String s = String.format ("%d:%02d:%02d.%d", hours, minutes,
                                          seconds, decSeconds);

                labelTime.setText (s);
            }
        });

        buttonStart.addActionListener (new ActionListener () {
            public void actionPerformed (ActionEvent e) {
                startTime = System.currentTimeMillis ();
                timer.start ();
                buttonStart.setEnabled (false);
                buttonStop.setEnabled (true);
            }
        });

        buttonStop.addActionListener (new ActionListener () {
            public void actionPerformed (ActionEvent e) {
                timer.stop ();
                buttonStart.setEnabled (true);
                buttonStop.setEnabled (false);
            }
        });

        frame.setVisible (true);
    }

    public static void main (String[] args)
    {
        SwingUtilities.invokeLater (new Runnable () {
            public void run () {
                new Cronometro ();
            }
        });
    }
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)

Ultima modifica di andbin : 13-06-2007 alle 12:30.
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2007, 12:05   #3
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Quote:
Originariamente inviato da andbin Guarda i messaggi
Prova questo codice che ho appena scritto ....
Codice:
...
        timer = new javax.swing.Timer (50, new ActionListener () {
Una curiosità: perchè 50 e non 100?
redcloud è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2007, 12:07   #4
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Quote:
Originariamente inviato da andbin Guarda i messaggi
(e poi non dite che non aiuto o che dò risposte ineleganti!!)
Sei una perla

Ps.: Pare Key Horstmann si sia accorto ieri dell'esistenza della norma del thread singolo in Swing

http://weblogs.java.net/blog/cayhors...ngle_thre.html

Mica male, considerato che lui è uno degli esperti...
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2007, 12:23   #5
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da redcloud Guarda i messaggi
Una curiosità: perchè 50 e non 100?
Più che altro per essere abbastanza sicuro che ogni decimo di secondo venga visualizzato.
Come si sa i timer, gestiti in un sistema ad eventi ... non è detto che siano precisi precisi. Supponiamo di usare 100 e che l'ultimo timer abbia causato la visualizzazione del decimo di secondo '6' e che magari ci mancava pochissimo al passaggio al '7'. Ora immaginiamo che il timer si "rilassi" un pochino. È possibile che il '7' non venga visualizzato ma venga visualizzato '8' al prossimo evento del timer.

Si può anche mettere 100, eh! Non è mica il cronometro che usano alla NASA!
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2007, 12:49   #6
mad_hhatter
Senior Member
 
L'Avatar di mad_hhatter
 
Iscritto dal: Oct 2006
Messaggi: 1105
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Sei una perla

Ps.: Pare Key Horstmann si sia accorto ieri dell'esistenza della norma del thread singolo in Swing

http://weblogs.java.net/blog/cayhors...ngle_thre.html

Mica male, considerato che lui è uno degli esperti...
ah già... ho letto qualche giorno fa la parte di javadoc relativa a questa cosa, ma non l'ho compresa a fondo (forse perchè non ho mai usato swing ne altri componenti grafici ) in particolare il motivo per cui si "invokelater"
mad_hhatter è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2007, 13:05   #7
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da mad_hhatter Guarda i messaggi
ah già... ho letto qualche giorno fa la parte di javadoc relativa a questa cosa, ma non l'ho compresa a fondo (forse perchè non ho mai usato swing ne altri componenti grafici ) in particolare il motivo per cui si "invokelater"
Viene spiegato bene in questa sequenza di articoli: [1] [2] [3]
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2007, 14:10   #8
redcloud
Bannato
 
L'Avatar di redcloud
 
Iscritto dal: Feb 2003
Città: Anche Chuck Norris usa Debian e Gnome
Messaggi: 1270
Quote:
Originariamente inviato da andbin Guarda i messaggi
Più che altro per essere abbastanza sicuro che ogni decimo di secondo venga visualizzato.
Come si sa i timer, gestiti in un sistema ad eventi ... non è detto che siano precisi precisi. Supponiamo di usare 100 e che l'ultimo timer abbia causato la visualizzazione del decimo di secondo '6' e che magari ci mancava pochissimo al passaggio al '7'. Ora immaginiamo che il timer si "rilassi" un pochino. È possibile che il '7' non venga visualizzato ma venga visualizzato '8' al prossimo evento del timer.

Si può anche mettere 100, eh! Non è mica il cronometro che usano alla NASA!
Hum e quindi per farlo preciso?
redcloud è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Reddit punterà sull'AI per miglio...
Samsung ha obiettivi molto ambiziosi per...
I produttori non faranno sconti sulle me...
Ubisoft potrebbe cedere pezzi se il pian...
Qualcomm potrebbe utilizzare una tecnolo...
Starfield per Nintendo Switch 2 potrebbe...
Un MacBook Pro a -300€, i MacBook Air M4...
Amazon abbassa i prezzi sugli iPhone: sc...
Amazon, ancora sconti sugli smartphone A...
iPhone Air 2 'riciclerà' alcuni c...
Offerta Amazon da non perdere: lo speake...
Nioh 3 debutta alla grande su Steam: pri...
Al centro della Via Lattea ci potrebbe e...
Elon Musk ora guarda alla Luna: SpaceX p...
La Cina ha lanciato nuovamente lo spazio...
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: 22:20.


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