Hallo
Ich komme da selbst nicht mehr weiter, da mir einfach das Wissen fehlt:
Ich habe ein CardLayout mit einem JTree links und je nach dem welchen node man drückt rechts die entsprechende JTable aus einer separaten Klasse.
In einem anderen Fenster mache ich ein paar Änderungen, die Auswirkungen auf eines dieser JTable haben. Leider muss ich momentan das ganze Programm beenden und neu aufstarten, wenn ich die Änderungen in der JTable sehen möchte, was nicht optimal ist.
Gerne möchte ich während runtime die Änderungen im CardLayout sehen.
Ich habe es mal mit folgendem Code ausprobiert:
Hat jedoch gar nichts gemacht.
Wer kann mir behiflich sein?
Ich komme da selbst nicht mehr weiter, da mir einfach das Wissen fehlt:
Ich habe ein CardLayout mit einem JTree links und je nach dem welchen node man drückt rechts die entsprechende JTable aus einer separaten Klasse.
In einem anderen Fenster mache ich ein paar Änderungen, die Auswirkungen auf eines dieser JTable haben. Leider muss ich momentan das ganze Programm beenden und neu aufstarten, wenn ich die Änderungen in der JTable sehen möchte, was nicht optimal ist.
Gerne möchte ich während runtime die Änderungen im CardLayout sehen.
Ich habe es mal mit folgendem Code ausprobiert:
Java:
import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
public class ReloadMyClass
{
public static void main(String[] args)
throws ClassNotFoundException, IOException {
Class<?> myClass=ReloadMyClass.class;
System.out.printf("my class is Class@%x%n", myClass.hashCode());
System.out.println("reloading");
URL[] urls={ myClass.getProtectionDomain().getCodeSource().getLocation() };
ClassLoader delegateParent = myClass.getClassLoader().getParent();
try(URLClassLoader cl=new URLClassLoader(urls, delegateParent)) {
Class<?> reloaded=cl.loadClass(myClass.getName());
System.out.printf("reloaded my class: Class@%x%n", reloaded.hashCode());
System.out.println("Different classes: "+(myClass!=reloaded));
}
}
}
Hat jedoch gar nichts gemacht.
Wer kann mir behiflich sein?