Hallo zusammen,
ich habe eine Anwendung, die so aussieht:
class XYZView extends FrameView
class XYZApp extends SingleFrameApplication
Diese Anwendung befindet sich in eine Jar-Datei.
Ich möchte diese Anwendung aus einem anderen Java-Programm aufrufen. Es „funktioniert“ es auch!
Ich habe diese Jar-Datei in der zweiten Anwendung eingebunden. Die zweite Anwendung sieht so aus:
class ABCView extends FrameView
class ABCApp extends SingleFrameApplication
Das eigentliche Problem:
Wenn man die erste Anwendung (XYZApp) aus der zweiten Anwendung aufruft und anschließend schließt, dann kann ich nicht mehr in der zweiten Anwendung (ABCApp) ein Unterfenster öffnen. Es knallt genau an folgender Stelle in der Klasse Class.java unter:
public T cast(Object obj) {
if (obj != null && !isInstance(obj))
throw new ClassCastException();
return (T) obj;
}
Fehlermeldung:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException at java.lang.Class.cast(Class.java:2990)
Wenn XYZApp einmal aufrufen wird, dann bleibt das „obj“ auf XYZApp stehen. Wenn ich nun versuche in der zweiten Anwendung über einem Button ein weiteres Fenster öffnen, dann wird in der Methode „T cast(Object obj)“ ein ABCApp erwartet und NICHT XYZApp!! Ich rufe sogar beim schließen der ersten Anwendung (XYZApp) folgendes auf:
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Was kann ich tun, dass beim Aufruf der Methode „T cast(Object obj)“ das richtige Objekt reinkommt?
Vielen Dank im Voraus
ich habe eine Anwendung, die so aussieht:
class XYZView extends FrameView
class XYZApp extends SingleFrameApplication
Diese Anwendung befindet sich in eine Jar-Datei.
Ich möchte diese Anwendung aus einem anderen Java-Programm aufrufen. Es „funktioniert“ es auch!
Ich habe diese Jar-Datei in der zweiten Anwendung eingebunden. Die zweite Anwendung sieht so aus:
class ABCView extends FrameView
class ABCApp extends SingleFrameApplication
Das eigentliche Problem:
Wenn man die erste Anwendung (XYZApp) aus der zweiten Anwendung aufruft und anschließend schließt, dann kann ich nicht mehr in der zweiten Anwendung (ABCApp) ein Unterfenster öffnen. Es knallt genau an folgender Stelle in der Klasse Class.java unter:
public T cast(Object obj) {
if (obj != null && !isInstance(obj))
throw new ClassCastException();
return (T) obj;
}
Fehlermeldung:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException at java.lang.Class.cast(Class.java:2990)
Wenn XYZApp einmal aufrufen wird, dann bleibt das „obj“ auf XYZApp stehen. Wenn ich nun versuche in der zweiten Anwendung über einem Button ein weiteres Fenster öffnen, dann wird in der Methode „T cast(Object obj)“ ein ABCApp erwartet und NICHT XYZApp!! Ich rufe sogar beim schließen der ersten Anwendung (XYZApp) folgendes auf:
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Was kann ich tun, dass beim Aufruf der Methode „T cast(Object obj)“ das richtige Objekt reinkommt?
Vielen Dank im Voraus