title: How to make a JFrame (with timer) open another JFrame from another class
body: <p>New here - my first question. Anyway, I am here because I want to make a JFrame, that is timed for 10000 milliseconds, I think, and then when it closes, it should open another (which is in another class). I already did the timer part, not the 'closing the timed JFrame, and opening another' part.</p>
  
  <p>I remember doing this, and found an answer. It went something like <code>NewClass.show()</code> ('NewClass' is the class name that should open) and then you type in <code>OldClass.dispose()</code> ('OldClass' is the class name that should close).</p>
  
  <p>Here is my code so far:</p>
  
  <pre><code>import java.awt.Cursor;
  import java.awt.Dimension;
  import java.awt.FlowLayout;
  import java.awt.Graphics;
  import java.awt.Image;
  import java.awt.Point;
  import java.awt.Toolkit;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.awt.image.ImageObserver;
  import java.io.File;
  import java.io.IOException;
  
  import javax.imageio.ImageIO;
  import javax.swing.JButton;
  import javax.swing.JFrame;
  import javax.swing.JPanel;
  import javax.swing.Timer;
  
  public class SplashScreen extends JPanel {
  
  public SplashScreen() {
   setOpaque(false);
   setLayout(new FlowLayout());
  }
  
  public static void main(String[] args) {
  
      final JFrame frame = new JFrame("Loading game...");
      frame.setSize(800, 600);
      frame.setResizable(false);
      frame.setVisible(true);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      SplashScreen background = new SplashScreen();
      frame.add(background);
  
      Timer timer = new Timer(10000, new ActionListener() {
          public void actionPerformed(ActionEvent e) {
              frame.setVisible(false);
              frame.dispose();
             //I want to place my code here so then this class will close, and then the other class will open
          }
      });
      timer.setRepeats(false);
      timer.start();
  
      Toolkit toolkit = Toolkit.getDefaultToolkit();
      Image image = toolkit.getImage("Waiting.png");
      Point hotSpot = new Point(0,0);
      Cursor cursor = toolkit.createCustomCursor(image, hotSpot, "Cursor");
      frame.setCursor(cursor);
  
      Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
      int w = frame.getSize().width;
      int h = frame.getSize().height;
      int x = (dim.width - w) / 2;
      int y = (dim.height - h) / 2;
  
      frame.setLocation(x, y);
  
      JButton button = new JButton();
  
      JPanel panel = new JPanel();
  
  }
  
  public void paint(Graphics g) {
      Image a=Toolkit.getDefaultToolkit().getImage("Splash Screen.gif");
      g.drawImage(a,0,0,getSize().width,getSize().height,this);
      super.paint(g);
  
      }
  }
  </code></pre>
  
  <p>I didn't make the second class (which would be called 'LoadingScreen.class', but I will, and it will just have 'JSomethings' or whatever (like JFrame, JPanel, etc...)</p>
  
  <p>I can make the second class, but all I want is the first class to close after the timer finishes at 10 seconds, or 10000 milliseconds, and then automatically open the second class.</p>
  
  <p>Thanks</p>