Non riesco a far funzionare il comando setSize() con i pannelli.
Inoltre vorrei sapere se esiste (spero proprio di sì) un modo per chiudere solo un frame e non tutta l' applicazione.
Questo programma apre un frame con un bottone che apre a sua volta un altro frame:

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


public class setsize {

public static void main(String[] args)
{
SimpleFrame frame=new SimpleFrame();
}
}

class SimpleFrame extends JFrame implements ActionListener
{
JButton butt;
JPanel pannello;
SimpleFrame f ;

SimpleFrame()
{

super("Frame Title");
setSize(300, 300);
addWindowListener(new WindowAdapter
{
public void windowClosing (WindowEvent e)
{
System.exit(0);
}
});


butt= new JButton("Ok");
butt.addActionListener(this);
pannello=new JPanel();
pannello.setBackground(new Color(200,180,0));
pannello.setSize(200,200);
pannello.add(butt);


getContentPane().add(pannello);

show();
}

public void actionPerformed(ActionEvent evt)
{
f=new SimpleFrame();
if (evt.getSource()==butt) f.setVisible(true);
}
}