title: Why does my program compile but it not run?
body: <p>This is a follow up question due to changes being made to the OP code. Another user suggested I link the other question to this one. </p>
  
  <p>The OP is : <a href="https://stackoverflow.com/questions/5919630/why-does-the-compiler-not-run-the-program-even-though-there-are-not-any-errors/5919648#comment-6826963">Why does the compiler not run the program even though there are not any errors?</a></p>
  
  <p>I have a code that compiles but it does not run. I am trying to get the GUI to run so that I can then add the code to perform the functions I need it to. the code follows as:</p>
  
  <pre><code>import java.awt.*;
  import javax.swing.*;
  
  import java.awt.event.*;
  
  public class Transaction extends JFrame {
  
  private static final long serialVersionUID = 1L;
  // JFrame frame = new JFrame("Bank Account - S Standridge");
  JMenuBar menuBar;
  JMenu file = new JMenu("File");
  JMenu edit = new JMenu("Edit");
  JMenu about = new JMenu("About");
  JMenuItem transaction = new JMenuItem("Transaction");
  JMenuItem summary = new JMenuItem("Summary");
  JMenuItem exit = new JMenuItem("Exit");
  private JPanel mp;
  private JPanel tp;
  private JPanel bp;
  private JButton calcButton;    
  private JButton exitButton; 
  private JMenuItem summaryMenuItem;
  private JMenuItem aboutMenuItem;
  private JMenuItem exitMenuItem;
  
  public Transaction() {
      setTitle("Bank Account - S Standridge");
  
      mp = new JPanel();
      tp = new JPanel();
      bp = new JPanel();
  
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
      setLayout(new BorderLayout());
  
      menuPanel();        
      transactionPanel();
      BuildButtonPanel();     
  
      add(mp, BorderLayout.NORTH);
      add(tp, BorderLayout.WEST);
      add(bp, BorderLayout.SOUTH);
  
      pack();
      setVisible(true);
  }
  
  public void summary() {
  
  }
  
  private void menuPanel() {
      b
      menuBar = new JMenuBar();
  
      setJMenuBar(menuBar);
      setVisible(true);
  
      menuBar.add(file);
      menuBar.add(edit);
      menuBar.add(about);
  
      summaryMenuItem.addActionListener(new SummaryMenuListener());
      aboutMenuItem.addActionListener(new AboutMenuListener());
  
      file.add(transaction);
      file.add(summaryMenuItem);
      file.add(exitMenuItem);
  
  
  }
  
  private void BuildButtonPanel() {
  
       // Create a panel for the buttons.
        bp = new JPanel();
  
        // Create the buttons.
        calcButton = new JButton("Calculate");
        exitButton = new JButton("Exit");
  
        // Register the action listeners.
        calcButton.addActionListener(new CalcButtonListener());
        exitButton.addActionListener(new ExitButtonListener());
  
        // Add the buttons to the button panel.
        bp.add(calcButton);
        bp.add(exitButton);
  
  }
  
  private void transactionPanel()
  {
      setLayout(new FlowLayout());
  
      JRadioButton b1 = new JRadioButton("Checkings");
      // b1.addActionListener(this);
      add(b1);
  
      JRadioButton b2 = new JRadioButton("Savings");
      // b2.addActionListener(this);
      add(b2);
  
  
  
      ButtonGroup bg = new ButtonGroup();
      bg.add(b1);
      bg.add(b2);
  
  
      JTextField tf = new JTextField(5);
      add(tf);
    }
  
  }
  
  class CalcButtonListener implements ActionListener
  {
     public void actionPerformed(ActionEvent e)
     {
  
     }
  }
  
  class SummaryMenuListener implements ActionListener
     {
        public void actionPerformed(ActionEvent e)
        {
  
        }
     }
  
  class ExitButtonListener implements ActionListener
     {
        public void actionPerformed(ActionEvent e)
        {
            System.exit(0);
        }
     }
  
  class AboutMenuListener implements ActionListener
     {
        public void actionPerformed(ActionEvent e)
        {
         // Displays Message Box
        }
     }
  </code></pre>
  
  <p>The errors that I get in the console are as follows: </p>
  
  <pre><code>java.lang.reflect.InvocationTargetException
  IWAV0052E Invocation Target Exception creating Transaction
  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
  at java.lang.reflect.Constructor.newInstance(Unknown Source)
  at org.eclipse.ve.internal.java.vce.launcher.remotevm.JFCLauncher$1.run(JFCLauncher.java:59)
  at java.awt.event.InvocationEvent.dispatch(Unknown Source)
  at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
  at java.awt.EventQueue.access$000(Unknown Source)
  at java.awt.EventQueue$1.run(Unknown Source)
  at java.awt.EventQueue$1.run(Unknown Source)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
  at java.awt.EventQueue.dispatchEvent(Unknown Source)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
  at java.awt.EventDispatchThread.run(Unknown Source)
  Caused by: java.lang.NullPointerException
  at Transaction.menuPanel(Transaction.java:64)
  at Transaction.&lt;init&gt;(Transaction.java:37)
  ... 19 more
  </code></pre>