Form chamando outro form

Sei que já exixte este post, mas não consigo fazer busca aqui. Digito uma palavra e não vem nada. Fiz pesquisa com meu nick e veio muita coisa. Como faço para chamar um form de dentro de outro através de item de menu ou botão? Tenho uma rotina que implementa uma classe ButtonHandler. Nessa classe eu chamo o System.Exit. Posso usar essa classe para colocar outros botões ou tenho que criar cada uma para cada botão? Se isso for verdade, é meio sem sentido. Abaixo minha classe com o botão sair:

[code]class ButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent ae)
{
if (ae.getSource() == btnsair)
{
System.exit(0);
}
}
}

	public static void main(String[] args) {
		new CadCli().init();[/code]

Consegui fazer. Criei uma variável do tipo da classe, criei com o método new e visualizei com setVisible(True). Bem até aí beleza. Acontece que o form vem minimizado e quando eu redimenciono ele, não aparece os botões que eu criei. Entendi então que eu preciso dar um tamanho para ele(HEIGTH E WIDTH). Isso é que eu não estou conseguindo fazer. Como faço isso? Vou postar meu código full e veja onde está errado. Tirei os import para poupar espaço aqui.

[code]public class MenuCli extends JFrame{
private JMenu lancamento,operacoes;
private JMenuBar barmenu;
private JMenuItem cliente,compromissos,sair;
private JMenuItem consultar,alterar,excluir;
private CadCli cliente_tela;
public MenuCli(){
super(“Agenda de Compromisso”);
}
public void init(){
setSize(800,600);
setLocation(100,100);
cliente = new JMenuItem(“Cliente”);

	compromissos = new JMenuItem("Compromissos");	
	sair         = new JMenuItem("Sair");
	
	consultar    = new JMenuItem("Consultar");
	alterar      = new JMenuItem("Alterar");
	excluir      = new JMenuItem("Excluir");
	
	lancamento   = new JMenu("Lançamento");
	operacoes    = new JMenu("Operações");
	
	MenuHandler mh = new MenuHandler();
	cliente.addActionListener(mh);
	compromissos.addActionListener(mh);
	sair.addActionListener(mh);
	lancamento.addActionListener(mh);
	operacoes.addActionListener(mh);
	
	lancamento.add(cliente);
	lancamento.add("compromissos");
	lancamento.add(sair);
	
	operacoes.add("consultar");
	operacoes.add("alterar");
	operacoes.add("excluir");
	
	barmenu = new JMenuBar();
	barmenu.add(lancamento);
	barmenu.add(operacoes);
	
	setJMenuBar(barmenu);
	setVisible(true);
	cliente_tela = new CadCli();
}

class MenuHandler implements ActionListener{
	public void actionPerformed(ActionEvent ae){
		if (ae.getSource()==sair){
			System.exit(0);
		}//exit
		if (ae.getSource()==cliente){
			cliente_tela.setVisible(true); 
	 }//cliente_tela  
	}//actionperformed
	
}//Fim da classe MenuHandler

public static void main(String[] args) {
	new MenuCli().init();

}

}[/code]

Desculpa-me, faltou dizer quem é quem. A variável que chama o outro form é a cliente_tela e a classe é a CadCli.

Consegui, mas os botões dentro do outro form não aparece. Porque?

[code]class MenuHandler implements ActionListener{
public void actionPerformed(ActionEvent ae){
if (ae.getSource()==sair){
System.exit(0);
}//exit
if (ae.getSource()==cliente){
cliente_tela = new CadCli();
cliente_tela.setSize(800, 600);
cliente_tela.setLocation(100,100);
cliente_tela.setVisible(true);
}//cliente_tela
}//actionperformed

}//Fim da classe MenuHandler[/code]