import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class StopWatchPanel extends JPanel { private final int DELAY = 1000; private JButton start; private JButton stop; private JButton restart; private Timer timer; public static int time = 0; private JLabel label; private JPanel panel; public StopWatchPanel() { label = new JLabel ("Time: "+ time); label.setBackground(Color.yellow); start = new JButton("Start"); start.setEnabled(true); stop = new JButton ("Stop"); stop.setEnabled(false); restart = new JButton ("Restart"); restart.setEnabled(false); ButtonListener button = new ButtonListener(); TimeListener timeKeeper = new TimeListener(); start.addActionListener(button); stop.addActionListener(button); restart.addActionListener(button); timer = new Timer(DELAY,timeKeeper); panel = new JPanel(); panel.setPreferredSize(new Dimension(200,100)); panel.setBackground(Color.DARK_GRAY); panel.add(restart); panel.add(start); panel.add(stop); panel.add(label); add(panel); } private class ButtonListener implements ActionListener { public void actionPerformed(ActionEvent event) { if (event.getSource()==start) stop.setEnabled(true); start.setEnabled(false); timer.start(); if (event.getSource()==stop) start.setEnabled(true); restart.setEnabled(true); stop.setEnabled(false); timer.stop(); if (event.getSource()==restart) timer.start(); time = 0; stop.setEnabled(true); start.setEnabled(true); restart.setEnabled(false); } } private class TimeListener implements ActionListener { public void actionPerformed(ActionEvent event) { label = new JLabel ("Time: "+ time); label.setBackground(Color.yellow); time +=1; } } }
This post has been edited by program0025: 06 June 2014 - 08:54 AM