In un'applicazione voglio che, nel momento in cui si prema un JButton e si verifichino certe condizioni, si crei una nuova finestra che si sovrapponga alla prima.

In tale finestra poi dovrò mettere una JLabel e un JBotton il quale, una volta premuto, chiuda semplicemente la seconda finestra creata e riporti alla prima.

Avevo sviluppato il tutto così:

jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (jComboBox1.getSelectedIndex() == 0)
{
JPanel jPanelX = new javax.swing.JPanel();
JButton jButtonX = new javax.swing.JButton();
JLabel jLabelX = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstan ts.EXIT_ON_CLOSE);

//operazioni di posizionamento
pack();
}
Però non si sovrappone alcuna nuova finestra, si crea appunto solo un JPanel che si sovrappone al precedente...

Inoltre, al bottone creato ho dato un action listener di questo tipo



private void jButtonXActionPerformed(ActionEvent evt) {
this.jLabelX.setVisible(false);
}
Ma evidentemente non fa quello che voglio: vorrei semplicemente che la seconda finestra scomparisse.

Dove erro in maniera clamorosa???