Это зависит от списка функций, который будет у вас во втором окне. Если список функций довольно расширен, то лучше иметь отдельный класс, также JFrame не требуется, даже JDialog сделает.
Ниже приведен пример кода, показывающего, как открыть JDialog при нажатии кнопки:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class TestFrameOnFrame extends JFrame implements ActionListener{
public TestFrameOnFrame(){
JButton button = new JButton("Show New Frame");
button.addActionListener(this);
this.add(button);
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
JDialog dialog = new JDialog(this);
dialog.setTitle("Search Dialog");
dialog.add(new JLabel("Just a test"));
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
}
public static void main(String[] args) {
new TestFrameOnFrame();
}
}