FXML-Anwendung lädt neu kompilierte Klasse zur Laufzeit [geschlossen] ⇐ Java
-
Anonymous
FXML-Anwendung lädt neu kompilierte Klasse zur Laufzeit [geschlossen]
Ich versuche, eine Anwendung mit dem Ansatz zu entwickeln, nicht das gesamte Projekt neu zu kompilieren, wenn ich eine kleine Änderung an der Benutzeroberfläche vornehme. Ich habe es bereits geschafft, mit dem FXML-Loader an Grafiken vorgenommene Änderungen zu laden. Ich habe beispielsweise eine neue Schaltfläche in die FXML-Datei eingefügt, sie mit Intellij IDEA neu kompiliert und diese Änderung zur Laufzeit geladen, und sie wird erfolgreich auf meiner Benutzeroberfläche angezeigt. Ich muss aber auch einen Controller für die neu geladene fxml zuweisen, und das gelingt mir erfolgreich mit der neuen Instanz des Klassenladers. Das Problem ist, dass die Controller-Klasse kompiliert wird, wenn ich das Programm starte, und selbst nachdem ich Änderungen an dieser Controller-Klasse vorgenommen habe, z. B. einen Verweis auf eine neu hinzugefügte Schaltfläche in fxml mit dem Code @FXML newButton hinzufügen, dann die Controller-Klasse neu kompilieren, eine neue Instanz erstellen und sie dem fxml-Loader mit dem Classloader zuweisen, aber die Änderungen werden nicht wirksam! Ich gehe davon aus, dass der Klassenlader eine kompilierte Klasse verwendet, die beim Start kompiliert wurde, und nicht eine neu kompilierte, aber ich muss die neu kompilierte Klasse mit Bezug auf meine neue Schaltfläche laden. Für jede Hilfe wären wir sehr dankbar!
-
- Similar Topics
- Replies
- Views
- Last post
Mobile version