Ajuda com Menu e eventos

Boa noite

Estou com um problema para fazer um evento de abrir um JInternalFrame em um JDesktoPane , com eventos capturados de um JMenuItem, me ajudem a aporfundar meus estudos na linguagem.

Eu quero criar tudo separado para ver como funciona , se existe uma maneira de fazer isto, bom fiz o seguinte Criei um arquivo onde criei uma classe herdando um JFrame, e coloquei um JDesktopFrame segue o Codigo:

public class TelaIncial extends JFrame{
public JDesktopPane desk;
private JMenuBar jmb;
private JMenu jmCad;
private JMenuItem jmiCadAlim;


public JMenuItem getJmiCadAlim() {
	return jmiCadAlim;
}

public void setJmiCadAlim(JMenuItem jmiCadAlim) {
	this.jmiCadAlim = jmiCadAlim;
}

public  TelaIncial(){
	setTitle("Teste");
	Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
	setSize(d);
	setLayout(null);
	setDefaultCloseOperation(EXIT_ON_CLOSE);
	setVisible(true);
	desk = new JDesktopPane();
	setContentPane(desk);
	setJMenuBar(montaMenu());
	}

public JMenuBar montaMenu(){
	jmb = new JMenuBar();
	jmCad = new JMenu("Castrar");
	jmb.add(jmCad);
	jmiCadAlim = new JMenuItem("Cadastrar Alimentador");
	jmCad.add(jmiCadAlim);
	jmiCadAlim.setMnemonic(KeyEvent.VK_C);
	jmiCadAlim.addActionListener(new TelaInicialEvent());
	return jmb;
}

public static void main(String[] args){
	 new TelaIncial();

}

} 

Criei uma Classe separada para Controlar o eventos

public class TelaInicialEvent  implements ActionListener{
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		Object eo = e.getSource(); 
		TelaIncial tiv = new TelaIncial();
		CadAlimJInternal cad = new CadAlimJInternal();
				if(eo == tiv.getJmiCadAlim()){
			    tiv.desk.add(cad,this);
					
		}		
		

	}

A Classe á cima deveria chamar a Classe abaixo que contem um JInternalFrame e adiciona-la ao JDesktopPane da Classe TelaInicial, porem quando clico no JMenuItem referente ao JInternalFrame, o programa executa sem erros porem ao inves de abrir ele dentro do JDesktopPane ele abre um novo JFrame em branco, como faćo para o camando add o JInternalFrame no JDesktopPane?


public class CadAlimJInternal extends JInternalFrame{
 

 public CadAlimJInternal(){
		setTitle("Cadastro de Alimentador");
		setVisible(true);
		setSize(600,350);
	
	 
 }

}

POR FAVOR ALGUEM ME AJUDE FAZ DIAS QUE ESTOU TENTANDO ISSO, E ME DESCULPE A MINHA IGNORANCIA, POIS FAZ SÓ UM MÊS QUE COMECEI A ESTUDAR JAVA :slight_smile: