package orologio; import java.awt.Color; import java.awt.Font; import java.util.GregorianCalendar; import javax.swing.JCheckBox; import javax.swing.JLabel; import javax.swing.JPanel; public class JOra extends JPanel implements Runnable { private Thread thread; private JLabel lblOra; private JCheckBox chkAttivo; public JOra() { setBackground(Color.YELLOW); lblOra = new JLabel("00:00:00"); lblOra.setFont(new Font("Courier New", Font.BOLD, 79)); add(lblOra); chkAttivo = new JCheckBox("Attivo"); chkAttivo.setFont(new Font("Tahoma", Font.PLAIN, 23)); chkAttivo.setOpaque(false); add(chkAttivo); thread = new Thread(this); thread.setDaemon(true); thread.start(); } @Override public void run() { while (true) { if (chkAttivo.isSelected()) { GregorianCalendar lt = new GregorianCalendar(); int ore = lt.get(lt.HOUR); int min = lt.get(lt.MINUTE); int sec = lt.get(lt.SECOND); lblOra.setText((ore < 10 ? "0" + ore : "" + ore) + ":" + (min < 10 ? "0" + min : "" + min) + ":" + (sec < 10 ? "0" + sec : "" + sec)); } try { Thread.sleep(100); } catch (InterruptedException e) { } } } }