java Exception in thread "main" java.lang.NullPointerException "Please help
843789Jun 13 2010 — edited Jun 15 2010It's a timer with button start ,stop and reset . but it can be complie but when it run it saids:
Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1045)
at java.awt.Container.add(Container.java:365)
at Stopwatch.<init>(Stopwatch.java:36)
at Stopwatch.main(Stopwatch.java:77)
import javax.swing.Timer;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JButton;
import javax.swing.BorderFactory;
import java.awt.Font;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Stopwatch extends JPanel
{
private JLabel time ;
private Timer timer ;
private int seconds;
private JButton stop, start,reset;
private JPanel buttonPanel;
public Stopwatch()
{
timer= new Timer(1000,new ButtonListener());
time= new JLabel("Start!");
time.setFont(new Font("Helvetica", Font.PLAIN, 20));
add(time);
add(buttonPanel);
seconds=0;
setPreferredSize(new Dimension(400,200));
setBackground (Color.black);
buttonPanel=new JPanel();
buttonPanel.setPreferredSize(new Dimension(400,80));
buttonPanel.setBackground(Color.green);
buttonPanel.add(start);
buttonPanel.add(stop);
buttonPanel.add(reset);
start=new JButton("Start");
stop=new JButton("Stop");
reset=new JButton("Reset");
ButtonListener l=new ButtonListener();
start.addActionListener(l);
stop.addActionListener(l);
reset.addActionListener(l);
}
private class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if (event.getSource()== start)
timer.start();
seconds++;
if (event.getSource()== stop)
timer.stop();
if (event.getSource()== start)
timer.stop();
seconds=0;
}
}
public static void main(String[] args)
{
JFrame frame = new JFrame("Stopwatch");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Stopwatch sw = new Stopwatch();
frame.getContentPane().setLayout(new BorderLayout());
frame.getContentPane().add(sw, BorderLayout.CENTER);
frame.setSize(500, 300);
frame.pack();
frame.setVisible(true);
}
}