Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
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 Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
Costo della memoria alle stelle? Non ave...
GPT-5.4 cambia il modo di usare ChatGPT:...
Centinaia di petabyte in una molecola: l...
Lenovo al MWC 2026: dal PC modulare all'...
Huawei presenta gli agenti di IA per le ...
Alla scoperta di GAIA, la piattaforma IA...
Crimson Desert alla ricerca dell'equilib...
Ray-Ban Meta, video privati visionati da...
Epic Games fa causa a un ex collaborator...
BYD Blade Battery di seconda generazione...
Pop Mart vs Bambu Lab: la battaglia lega...
Control Resonant entra nella fase alpha ...
1.040 Hz e tecnologia Mini LED: TCL sfid...
Smart retail: arrivano le soluzioni di H...
MOVA, guida all'acquisto per scegliere i...
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: 19:00.


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