Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro
Con Midnight, Blizzard tenta il colpaccio: il player housing sbarca finalmente su Azeroth insieme a una Quel'Thalas ricostruita da zero. Tra il dramma della famiglia Ventolesto e il nuovo Prey System, ecco com'è la nuova espansione di World of Warcraft
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-06-2007, 08: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 09:00.
Pro7on è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2007, 09: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 11:30.
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 13-06-2007, 11: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, 11: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, 11: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, 11: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, 12: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, 13: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 Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Addio Volkswagen Touareg? Non proprio: i...
PS5 Slim 1 TB in bundle con Fortnite Flo...
Addio desktop ingombranti: questo mostro...
La fame di memoria dell'AI non si fermer...
Instagram, nuove restrizioni per i teena...
LinkedIn introduce il controllo della ve...
Attacco a Magento: ecco come un'immagine...
Un nuovo State of Play potrebbe arrivare...
App IO e IT-Wallet: i 14enni potranno ac...
No Man's Sky introduce la Xeno Arena: un...
Distributed AI Hub: l'infrastruttura IA ...
MOUSE: P.I. For Hire mostra il suo lato ...
La doppia sentenza che complica il caso ...
Microsoft ce l'ha fatta! Windows 11 ha u...
Top 7 Amazon di oggi: crolla del 54% il ...
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: 14:33.


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