Problemas, com Classloader

Olá Pessoal,

Dei uma procurada no fórum e li uma porrada de posts sobre classloader, mas, nenhum me ajudou, por isso estou colocando a duvida aqui.

Agora sem mais “delongas”, o meu problema é o seguinte, eu estou carregando JInternalFrames dentro do meu projeto com o código abaixo…

                                            Class classe = null;  
			                    try {			                    	
			                    	final String CLASSE = subMenus.get(numerador).getModulo().trim();
			                    	classe = Class.forName("telas." + CLASSE);  
			                    	JInternalFrame internalFrame = (JInternalFrame) classe.newInstance();			                    	
			                        internalFrame.setVisible(true);  
			                        painelCentro.add(internalFrame);
			                        try {
			                            internalFrame.setSelected(true);
			                        } catch (java.beans.PropertyVetoException e) {
			                        	e.printStackTrace();
			                        }
			                    } catch (Exception ex) {  
			                        ex.printStackTrace();  
			                    }						

…mas, como minhas classes tem muitos métodos ele está gerando os arquivos class da seguinte forma…

CadastroClientes$1.class
CadastroClientes$2.class
CadastroClientes$3.class
CadastroClientes$4.class
CadastroClientes$5.class
...
CadastroClientes.class

e quando mando abrir ele retorna um erro informando que não encontra a classe telas.CadastroClientes, mas, quando a
classe tem um unico arquivo class como a minha classe abaico…

CadastroTipoCliente.class

…ele abre normalmente, já tentei de tudo que eu conhecia, mas, nada resolveu.

Alguém já passou por situação semelhante e conseguiu resolver? Se sim por favor me ajude.

Muito obrigado antecipadamente.

Estranho - olhando o seu código (que não usa um “custom classloader” mas sim usa apenas o classloader padrão, já que você está só usando Class.forName) não consigo entender por que ele não funciona.
Voce está pondo todos esses .class (__$1.class, ___$2.class etc) junto com o .class principal ou não? É que eles implementam os ActionListeners do seu JFrame.
Todos eles têm de estar copiados no mesmo diretório da classe que não tem o $1, $2 etc… (por exemplo, CadastroClientes.class e CadastroClientes$1.class, porque estão no mesmo pacote, têm de estar no mesmo diretõrio),

Valeu entanglement pela resposta,

Cara, os class estão todos dentro do mesmo pacote e ainda assim quando eu vou fazer a referencia eu passo o nome da classe com o pacote, e ainda assim não localiza a classe.

Olá Psessoal,

Ainda estou tento o problema, o estranho é que ele está retornando o stack abaixo…

java.lang.ClassNotFoundException: br.com.sisflex.JEstApp.telas.JEstA67.class
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at br.com.sisflex.JEstApp.telas.JEstApp2$4.actionPerformed(JEstApp2.java:313)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.AbstractButton.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

já tentei inclusive colocar o nome direto da classe com o .class, mas, mesmo assim continua dando erro.

Abraço a todos.

“class” não pode ser um nome de classe ou pacote, porque é uma palavra reservada.

valeu entanglement pela resposta,

Eu conheço a regra pra nomenclatura, eu coloquei assim para fazer teste, mas, se deixo sem o .class da o mesmo erro.

Ninguém fez algo parecido com isso?