Ah ok, se il problema è questo allora ti scrivo un esempio.

codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class Scelta extends JFrame {
  Scelta() {
    super("Scelta Opzioni");
    
    JPanel panel = new JPanel();
    JTextField field = new JTextField(10);
    
    panel.add(field);
    
    add(panel);
    
    addWindowListener(new MyWindowListener());
    
  }
  
   private class MyWindowListener extends WindowAdapter {
     public void windowClosing(WindowEvent we) {
       dispose();
     }
   }
  
}

class Finestra extends JFrame implements ActionListener {
  private JButton scelta;
  
  Finestra() {
    super("Finestra Principale");
    
    JPanel panel = new JPanel();
    scelta = new JButton("Scelta");
    scelta.addActionListener(this);
    
    panel.add(scelta);
    
    add(panel);
    
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
  
  public void actionPerformed(ActionEvent ae) {
    Scelta s = new Scelta();
    s.setSize(200,200);
    s.setVisible(true);
  }
  
  
  public static void main(String[] args) {
    try {
      SwingUtilities.invokeAndWait(new Runnable() {
        public void run() {
          makeGUI();
        }
      });
    } catch(Exception e) {}
  }
  
  public static void makeGUI() {
    Finestra fin = new Finestra();
    fin.setSize(500,500);
    fin.setVisible(true);
  }
}
Per una gestione un po' più completa, in modo ad esempio di nascondere l'altra finestra o fare altre cose, ti lascio a questa pillola: http://solopc.forumcommunity.net/?t=49777313

Se hai domande relative ai codici ovviamente fai pure.