Método invocado não atualiza!

3 respostas
P

Galera, fiz uma aplicação parecida com um editor onde o usuario escreve algo, ai ele clica num botão que compila o texto dentro de um metodo, e depois ele pode executar aquele método compilado. Na primeira vez, o método executa normal (Usando invoke) , porém na segunda edição ele não atualiza, ele continua executando o método antigo que eu ja havia mudado. O que posso fazer pra arrumar isso?

public void invocar(){ fs3 = new Fase3Editavel(); try { clazz = Class.forName("Compilador.Fase3Editavel"); metodo = clazz.getMethod("executa"); metodo.invoke(fs3); } catch (ClassNotFoundException | NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) { Logger.getLogger(Editor.class.getName()).log(Level.SEVERE, null, ex); } }

3 Respostas

Rafael_Guerreiro

O que o usuário digita é a classe “Compilador.Fase3Editavel” ?

Você quer trocar essa classe em tempo real?

P

Rafael Guerreiro:
O que o usuário digita é a classe “Compilador.Fase3Editavel” ?

Você quer trocar essa classe em tempo real?

O usuario digita numa textField, ai eu crio esse arquivo “Fase3Editavel” com o metodo que o usuario passou no field, sacou?
Ai eu compilo, blz funciona, na primeira vez ele invoca o metodo certo. Se eu atualizar o arquivo dessa classe e tentar invocar, ele não invoca o metodo atualizado, entende?

ViniGodoy

Você terá que aprender a criar um classloader e a manipula-lo:
http://javafree.uol.com.br/artigo/876400/ClassLoader-Desmitificado.html

Criado 14 de maio de 2015
Ultima resposta 14 de mai. de 2015
Respostas 3
Participantes 3