Ciao, ho messo questo codice in un'altra discussione, guardalo e ti chiarirà le idee:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import javax.swing.*;
/**
*
* @author Luigi
*/
public class Main extends JFrame implements ActionListener{
Container contenitore;
JButton Bottone;
Finestra finestra = null;
//Image Immagine = null;
public Main()
{
super("prova");
this.setSize(400, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//URL url = this.getClass().getResource("IconaApplicazione.png");
//Immagine = Toolkit.getDefaultToolkit().getImage(url);
//Immagine = Toolkit.getDefaultToolkit().getImage("C:/Documents and Settings/Luigi/Documenti/NetBeansProjects/Serpente/IconaApplicazione 2.png");
//this.setIconImage(Immagine);
contenitore = this.getContentPane();
contenitore.setLayout(new FlowLayout());
Bottone = new JButton("Mostra");
Bottone.addActionListener(this);
contenitore.add(Bottone);
finestra = new Finestra("Finestra 2");
finestra.setLocation(50, 50);//posiziona la finestra nello schermo
finestra.setSize(200, 200);
this.setVisible(true);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
new Main();
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == Bottone)
{
if(finestra.isVisible())
{
finestra.setVisible(false);
Bottone.setText("Mostra");
}
else
{
finestra.setVisible(true);
Bottone.setText("Nascondi");
}
}
}
private class Finestra extends JFrame
{
public Finestra(String Titolo)
{
super(Titolo);
this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); //non chiude l'applicazione ma nasconde la finestra quando premi "X"
//qui ci metti tutto il codice che ti serve per creare la finestra
}
}
}