Salve a tutti,
ho l'esigenza di creare un cronometro in java ho trovato già esempi per il funzionamento ma quello che volevo sapere è come far comparire il cronometro!
grazie
ciao
Salve a tutti,
ho l'esigenza di creare un cronometro in java ho trovato già esempi per il funzionamento ma quello che volevo sapere è come far comparire il cronometro!
grazie
ciao
Non so se ho ben capito, però potresti disegnarti anche una semplice stringa che mostra il tempo rimanente: la stringa è aggiornata da un thread che è attivato ad esempio ogni secondo utilizzando uno
Swing Timer.
In effetti la tua richiesta non è molto chiara...
Se va bene la soluzione che ti ha fornito signal ok, altrimenti cerca di spiegarti meglio.
PS: Ti consiglio anche di leggere il regolamento per quanto riguarda la struttura dei titoli delle discussioni. Questo lo aggiusto io
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
si scusa, quello che voglio sapere cosa devo fare per far comparire un croometro!
Allora... un cronometro è un thread che conta il passare del tempo. Un thread non ha nessuna rappresentazione grafica.Originariamente inviato da xedy
si scusa, quello che voglio sapere cosa devo fare per far comparire un croometro!
Quello che puoi fare tu è decidere come visualizzare le informazioni del cronometro: puoi stamparle a video sottoforma di stringhe, puoi far apparire delle immagini ad ogni tic del cronometro, oppure, se è come penso io, ti devi studiare a fonto la libreria Swing per poter disegnare un quadrante con una lancetta.
Hai parecchie scelte di fronte a te... se ti interessa la terza, dovrai prendere mano ai libri, perchè in una discussione su questo forum non sarebbe possibile trattare tutto l'argomento.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
no quello che mi interessa è un cronometro in formato digitale....quindi con numeri....grazie
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 ("0:00:00.0"); labelTime.setFont (new Font ("SansSerif", Font.BOLD, 30)); labelTime.setHorizontalAlignment (JLabel.CENTER); 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, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
il codice da te postatomi è perfetto lo so che è passato un pò di tempo ma avrei la necessità di far partire il cronometro no da click sul pulsante ma quando confronto una stringa proveniente da db con una tipo start solo che non so quale parte di codice modificare per farla funzionare.
grazie
ciao
ho risolto, ma ora ho un altro problema. Ho messo due cronometri creando anche due diversi timer e timer1 ma quando parte uno si ferma l'altro perchè?
grazie
ciao ragazzi, so che arrivo in ritardo, comunque ho eseguito il codice e all'ora di farlo partire mi compare il cronometro senza problemi...ma se provo a farlo partire mi esce questo messaggio sulla console ''Exception in thread "AWT-EventQueue-0" java.util.UnknownFormatConversionException: Conversion = '0' at java.util.Formatter.checkText(Unknown Source)
at java.util.Formatter.parse(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.lang.String.format(Unknown Source)
at attempt2$1.actionPerformed(attempt2.java:33)
at javax.swing.Timer.fireActionPerformed(Unknown Source)
at javax.swing.Timer$DoPostEvent.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPri vilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(U nknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source) "
e sinceramente non so molto bene manco cosa voglia dire... qualcuno potrebbe darmi una mano? ho appena iniziato a programmare, perciò non ho ancora molta scioltezza. Grazie.