0

Hope You are Doing good Please if someone can help me I have a problem with my JavaFX application after I had changed my JavaFX main page.

When I single run the

The Main Controle Code :

package ensam.BIBLIO.Main;

import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

/**
 * FXML Controller class
 *
 * @author Dark Ghost
 */
public class BiblioMainController implements Initializable {

    /**
     * Initializes the controller class.
     */
    @Override
    public void initialize(URL url, ResourceBundle rb) {
        // TODO
    }

    @FXML
    private void LoadAddStudentL(ActionEvent event) {
        LoadWindow ("/ENSAM/BIBLIO/AJouterEtudiant/AjouterEtudiant.fxml","Ajouter Etudiant Biblio");
    }

    @FXML
    private void LoadStudentLTable(ActionEvent event) {
        LoadWindow ("/ENSAM/BIBLIO/ListeEtudiant/ListeEtudiant.fxml","Liste Etudiant");
    }

    @FXML
    private void LoadAddBook(ActionEvent event) {
        LoadWindow ("/ENSAM/BIBLIO/AJouterLivre/AddBook.fxml","Ajouter Livre");
    }

    @FXML
    private void LoadBookTable(ActionEvent event) {
        LoadWindow ("/ENSAM/BIBLIO/ListeLivre/Book_Liste.fxml","Ajouter Etudiant Biblio");
    }
    
    void LoadWindow (String loc , String Title){
        try {
            Parent parent = FXMLLoader.load(getClass().getResource(loc));
            Stage stage = new Stage(StageStyle.DECORATED);
            stage.setTitle(Title);
            stage.setScene(new Scene(parent));
            stage.show();
        } catch (IOException ex) {
            Logger.getLogger(BiblioMainController.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}

When I single run it, it runs perfectly and all buttons are working. But when I run it from the project all buttons are giving me:

Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

[java] Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
     [java]     at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1774)
     [java]     at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657)
     [java]     at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
     [java]     at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
     [java]     at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
     [java]     at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
     [java]     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
     [java]     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
     [java]     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
     [java]     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
     [java]     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
     [java]     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
     [java]     at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
     [java]     at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
     [java]     at javafx.event.Event.fireEvent(Event.java:198)
     [java]     at javafx.scene.Node.fireEvent(Node.java:8411)
     [java]     at javafx.scene.control.Button.fire(Button.java:185)
     [java]     at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
     [java]     at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
     [java]     at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
     [java]     at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
     [java]     at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
     [java]     at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
     [java]     at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
     [java]     at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
     [java]     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
     [java]     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
     [java]     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
     [java]     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
     [java]     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
     [java]     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
     [java]     at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
     [java]     at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
     [java]     at javafx.event.Event.fireEvent(Event.java:198)
     [java]     at javafx.scene.Scene$MouseHandler.process(Scene.java:3760)
     [java]     at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3488)
     [java]     at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1765)
     [java]     at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2497)
     [java]     at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
     [java]     at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
     [java]     at java.security.AccessController.doPrivileged(Native Method)
     [java]     at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:432)
     [java]     at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:411)
     [java]     at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
     [java]     at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
     [java]     at com.sun.glass.ui.View.notifyMouse(View.java:937)
     [java]     at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
     [java]     at com.sun.glass.ui.win.WinApplication.lambda$null$3(WinApplication.java:178)
     [java]     at java.lang.Thread.run(Thread.java:748)
     [java] Caused by: java.lang.reflect.InvocationTargetException
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(Method.java:498)
     [java]     at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:72)
     [java]     at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
     [java]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.lang.reflect.Method.invoke(Method.java:498)
     [java]     at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:276)
     [java]     at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769)
     [java]     ... 48 more
     [java] Caused by: java.lang.NullPointerException: Location is required.
     [java]     at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3207)
     [java]     at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
     [java]     at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
     [java]     at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
     [java]     at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
     [java]     at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
     [java]     at ensam.BIBLIO.Main.BiblioMainController.LoadWindow(BiblioMainController.java:60)
     [java]     at ensam.BIBLIO.Main.BiblioMainController.LoadAddStudentL(BiblioMainController.java:39)
     [java]     ... 58 more

-remove-temp-run-dir:
   [delete] Deleting directory C:\Users\DarkGhost\Documents\NetBeansProjects\ENSAM\dist\run872994552

jfxsa-run-no-another-jvm:

If someone can help I would be really happy.

Abra
  • 19,142
  • 7
  • 29
  • 41
  • This is returning null: `getClass().getResource(loc)` when the value of `loc` is `"/ENSAM/BIBLIO/ListeEtudiant/ListeEtudiant.fxml"` Are you using an IDE? Is it IntelliJ? Are you saying that it works when you launch it from the command line? – Abra Dec 31 '21 at 16:26
  • I use Netbeans ... it work perfectly when i run it from file (SingleRun on netBean) – ETUDIANT ENSAM Dec 31 '21 at 20:34
  • See the troubleshooting section of the duplicate for steps to take to determine why your file is not located where you are looking for it. – jewelsea Jan 01 '22 at 06:46

0 Answers0