title: open another class with an action listener
body: <p>Hi im currently working on a program but I need to be able to change the class (so that the frame changes) with just the click of a menu tab.</p>
  
  <p>I would like someone to modify this to get my to class2.java</p>
  
  <pre><code>JMenu area = new JMenu ("Area");
      menu.add(area);
      JMenuItem convertA= new JMenuItem ("Convertions");
      area.add(convertA);
  
      class aaction implements ActionListener{
          public void actionPerformed (ActionEvent e) {
  
  
          }
      }
  </code></pre>
  
  <p>class 1.java</p>
  
  <pre><code>/*import needed packages*/
  import javax.swing.JFrame;
  import javax.swing.JLabel;
  import javax.swing.JOptionPane;
  import javax.swing.JTextArea;
  import javax.swing.JButton;
  import javax.swing.JTextPane;
  import javax.swing.JTextField;
  import javax.swing.JFormattedTextField;
  import javax.swing.AbstractAction;
  import javax.swing.SwingConstants;
  import javax.swing.Action;
  import javax.swing.InputVerifier;
  import javax.swing.*;
  import javax.xml.soap.Text;
  
  import java.awt.BorderLayout;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.awt.event.*;
  import java.awt.Font;
  import java.awt.Frame;
  import java.math.*;
  import java.lang.*;
  import java.text.*;
  import java.awt.EventQueue;
  import java.awt.SystemColor;
  import java.awt.Window;
  import java.awt.Canvas;
  import java.awt.Color;
  import java.awt.Component;
  import java.awt.Container;
  import java.awt.Cursor;
  @SuppressWarnings("unused")
  public class circle_ac {
  
  private JFrame frame;
  private JTextField txtRadius;
  private JTextField txtTheAreaOf;
  private JTextField txtTheCircumfrenceOf;
  
  /**
   * Launch the application.
   */
  public static void main(String[] args) {
      EventQueue.invokeLater(new Runnable() {
          public void run() {
              try {
                  circle_ac window = new circle_ac();
                  window.frame.setVisible(true);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      });
  }
  
  /**
   * Create the application.
   */
  public circle_ac() {
      initialize();
  }
  
  /**
   * Initialize the contents of the frame.
   * @param arg0 
   * @param arg0 
   * @param arg0 
   */
  private void initialize() {
      /*setup the JFrame*/
      frame = new JFrame();
      frame.setResizable(true);
      frame.setBounds(1000, 1000, 2250, 1000);
      frame.pack();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setLayout(new BorderLayout());        
      frame.add(BorderLayout.CENTER,new JLabel("MHMB 1.3.5"));
  
      /*setup JMenu*/
      Font f = new Font("sans-serif", Font.PLAIN, 25);
      UIManager.put("Menu.font", f);
      UIManager.put("MenuItem.font", f);
  
      JMenuBar menu = new JMenuBar ();
      frame.setJMenuBar(menu);
  
      JMenu circles = new JMenu ("Circles");
      menu.add(circles);
      JMenuItem ac= new JMenuItem("Area And Circumference");
      circles.add(ac);
  
      JMenu measurements = new JMenu ("Measurements");
      menu.add(measurements);
      JMenuItem convert= new JMenuItem ("Convertions");
      measurements.add(convert);
  
      JMenu area = new JMenu ("Area");
      menu.add(area);
      JMenuItem convertA= new JMenuItem ("Convertions");
      area.add(convertA);
  
      class aaction implements ActionListener{
          public void actionPerformed (ActionEvent e) {
              contentPane.removeAll();
              contentPane.setLayout(new BorderLayout()); 
              contentPane.add(BorderLayout.CENTER,frame1);
              this.revalidate();
              this.repaint();
          }
      }
  
      JMenu close = new JMenu ("Close");
      menu.add(close);
      JMenuItem exit = new JMenuItem ("Exit");
      close.add(exit);
  
      class eaction implements ActionListener{
          public void actionPerformed (ActionEvent e) {
              System.exit(0);
          }
      }
      exit.addActionListener(new eaction());
  
      /*setup calculate button*/
      JButton btnCalculate = new JButton("calculate");
      btnCalculate.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
  
      /*setup calculations*/
              double rad;
              double ans1;
              double ans2;
              double pi=3.1415926535897932384626433832795;
              try {
                  rad=Double.parseDouble(txtRadius.getText()) ;
                  ans1= pi*(rad*rad);
                  ans2= 2*pi*rad;
                  DecimalFormat df = new DecimalFormat("#");
                  df.setMaximumFractionDigits(25);
  
                  txtTheAreaOf.setText("The Area Is "+df.format(ans1));
  
                  txtTheCircumfrenceOf.setText("The Circumference Is "+df.format(ans2) );
  
      /*setup error message*/
                }catch(Exception e){
                    JOptionPane.showMessageDialog(null, "Please Enter Valid Radius");
                }
              }
      });
  
      /*initialize calculate button*/
      btnCalculate.setFont(new Font("Tahoma", Font.PLAIN, 60));
      btnCalculate.setBackground(new Color(227, 227, 227));
      btnCalculate.setForeground(Color.BLACK);
      frame.getContentPane().add(btnCalculate, BorderLayout.SOUTH);
  
      /*setup Radius text box*/
      txtRadius = new JTextField();
      txtRadius.setFont(new Font("Tahoma", Font.PLAIN, 55));
      txtRadius.setCursor(null);
      txtRadius.setInputVerifier(null);
      txtRadius.setText(" Enter The Radius");
      txtRadius.setBackground(SystemColor.controlHighlight);
      frame.getContentPane().add(txtRadius, BorderLayout.CENTER);
      txtRadius.setColumns(10);
  
      /*setup Area text box*/
      txtTheAreaOf = new JTextField();
      txtTheAreaOf.setEditable(false);
      txtTheAreaOf.setText("The Area Of The Circle Is                                                          ");
      txtTheAreaOf.setBackground(SystemColor.control);
      txtTheAreaOf.setFont(new Font("Tahoma", Font.PLAIN, 30));
      frame.getContentPane().add(txtTheAreaOf, BorderLayout.WEST);
  
      /*setup Circumference text box*/
      txtTheCircumfrenceOf =new JTextField();
      txtTheAreaOf.setEditable(false);
      txtTheCircumfrenceOf.setFont(new Font("Tahoma", Font.PLAIN, 30));
      txtTheCircumfrenceOf.setText("The Circumfrence Of The Circle Is                                                  ");
      txtTheCircumfrenceOf.setBackground(SystemColor.control);
      frame.getContentPane().add((Component) txtTheCircumfrenceOf, BorderLayout.EAST);
  }
  }
  </code></pre>
  
  <p>class2.java</p>
  
  <pre><code>/*import needed packages*/
  import javax.swing.JFrame;
  import javax.swing.JLabel;
  import javax.swing.JOptionPane;
  import javax.swing.JTextArea;
  import javax.swing.JButton;
  import javax.swing.JTextPane;
  import javax.swing.JTextField;
  import javax.swing.JFormattedTextField;
  import javax.swing.AbstractAction;
  import javax.swing.SwingConstants;
  import javax.swing.Action;
  import javax.swing.InputVerifier;
  import javax.swing.*;
  import javax.xml.soap.Text;
  
  import java.awt.BorderLayout;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.awt.event.*;
  import java.awt.Font;
  import java.awt.Frame;
  import java.math.*;
  import java.lang.*;
  import java.text.*;
  import java.awt.EventQueue;
  import java.awt.SystemColor;
  import java.awt.Window;
  import java.awt.Canvas;
  import java.awt.Color;
  import java.awt.Component;
  import java.awt.Container;
  import java.awt.Cursor;
  @SuppressWarnings("unused")
  public class area_c {
  
  private JFrame frame1;
  private JTextField txtRadius;
  private JTextField txtTheAreaOf;
  private JTextField txtTheCircumfrenceOf;
  
  /**
   * Launch the application.
   */
  public static void main(String[] args) {
      EventQueue.invokeLater(new Runnable() {
          public void run() {
              try {
                  area_c window = new area_c();
                  window.frame1.setVisible(true);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      });
  }
  
  /**
   * Create the application.
   */
  public area_c() {
      initialize();
  }
  
  /**
   * Initialize the contents of the frame.
   * @param arg0 
   * @param arg0 
   * @param arg0 
   */
  private void initialize() {
      /*setup the JFrame*/
      frame1 = new JFrame();
      frame1.setResizable(true);
      frame1.setBounds(1000, 1000, 2250, 1000);
      frame1.pack();
      frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame1.setLayout(new BorderLayout());        
      frame1.add(BorderLayout.CENTER,new JLabel("MHMB 1.3.5"));
  
      /*setup JMenu*/
      Font f = new Font("sans-serif", Font.PLAIN, 25);
      UIManager.put("Menu.font", f);
      UIManager.put("MenuItem.font", f);
  
      JMenuBar menu = new JMenuBar ();
      frame1.setJMenuBar(menu);
  
      JMenu circles = new JMenu ("Circles");
      menu.add(circles);
      JMenuItem ac= new JMenuItem("Area And Circumference");
      circles.add(ac);
  
      JMenu measurements = new JMenu ("Measurements");
      menu.add(measurements);
      JMenuItem convert= new JMenuItem ("Convertions");
      measurements.add(convert);
  
      JMenu area = new JMenu ("Area");
      menu.add(area);
      JMenuItem convertA= new JMenuItem ("Convertions");
      area.add(convertA);
  
      class aaction implements ActionListener{
          public void actionPerformed (ActionEvent e) {
  
          }
      }
  
      JMenu close = new JMenu ("Close");
      menu.add(close);
      JMenuItem exit = new JMenuItem ("Exit");
      close.add(exit);
  
      class eaction implements ActionListener{
          public void actionPerformed (ActionEvent e) {
              System.exit(0);
          }
      }
      exit.addActionListener(new eaction());
  
  System.out.println("Hello World!");
  </code></pre>
  
  <p>I need the menu tab to change it from class1.java to class2.java with an action listener.
  is this possible, if so how do I do it.</p>